【问题标题】:Ingnore Custom validation for hidden fields in rails 2.3.5 [closed]忽略rails 2.3.5中隐藏字段的自定义验证[关闭]
【发布时间】:2016-03-05 03:48:25
【问题描述】:

有什么方法可以忽略 Rails 中隐藏字段的自定义验证?例如,id='test' 有任何必填字段,我尝试使用以下方法隐藏它:

$('test').hide(); 

之后我想忽略验证。

【问题讨论】:

  • 为什么?听起来您正试图绕过您无法控制的网站上的某些安全功能。
  • 实际上,我正在开发一种增强功能,即显示链接到特定类别的文本字段。有时某些类别具有必填字段但对另一个类别隐藏,因此我需要忽略验证时必填字段被隐藏
  • 首先,我只是用我认为可靠的建议回答了您的问题。其次,如果您想在不同情况下进行不同的验证,您可以为每种情况使用不同的模型。 ModelName::AsMandatoryVariationModelName::AsNonMandatoryVariation。例如:User::AsRegisterableUser::AsAuthor。在这两种模型中,您会有不同的验证。

标签: jquery css ruby-on-rails ruby ajax


【解决方案1】:

幸运的是,您不能通过 javascript 告诉 Rails 忽略验证,您的模型控制什么是有效的,什么是无效的。由于您的模型存在于服务器上而不是您的客户端中,因此您无法通过客户端代码更改它。

从这个问题来看,我认为如果您专注于学习 Web 技术的基础知识而不是深入研究 Rails 和 jQuery,那将是一个好主意。您似乎错过了对重要概念的基本理解。从jQuery('#something').hide() 开始,不会隐藏您的输入字段,它只是通过在 CSS 中给它一个隐藏的显示样式来隐藏用户的元素。隐藏的表单域是一种特定类型的输入域:<input type='hidden' />。它们通常用于在表单中嵌入元数据。

所以我给你的建议是从一些 HTML 和 Javascript 的在线课程开始,然后从 Rails 的一些初学者课程开始。如果您投入一些时间,HTML 和 JS 课程的学习时间不会超过 1-2 周,并且您将对 Web 的工作原理有更深入的了解。

【讨论】:

    【解决方案2】:

    我已经解决了这个问题。我已经使用 attr_accessor 绕过了验证 这里我设置了类别 id 的值,并检查了该字段的链接类别 id 是否等于类别 id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-29
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      相关资源
      最近更新 更多