ruby-on-rails - 自定义 Rails 验证未将 'field_with_errors' 包装器添加到输入

标签 ruby-on-rails validation ruby-on-rails-4

我正在开发一个 Rails 4 站点,其中的表单需要一些自定义验证。但是,当验证标准失败并显示错误消息时,我正在检查的输入字段不会被赋予 field_with_errors 包装器。正在验证的所有其他字段都会正确获取包装器,但它们的验证是对每个属性的简单存在检查。

如何将包装器添加到我的自定义验证中?

附加说明:如果可能的话,我只想显示一次错误消息 - 但突出显示这两个字段。

在我的模型中:

validate :at_least_one_apply_method

def at_least_one_apply_method
  if [self.apply_url, self.application_instructions].reject(&:blank?).size == 0
    errors[:base] << ("Please provide at least one: Where to Apply or Applications Instructions.")
  end
end 

让我知道需要的任何其他信息。谢谢!

最佳答案

您正在将自定义错误消息添加到errors[:base]。您需要将其添加到您想要包装的字段中,例如

errors[:apply_url] << ("Please provide at least one: Where to Apply or Applications Instructions.")
errors[: application_instructions] << ("Please provide at least one: Where to Apply or Applications Instructions.")

关于ruby-on-rails - 自定义 Rails 验证未将 'field_with_errors' 包装器添加到输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482443/

相关文章:

c# - 如果验证错误则停止回发

javascript - 检查是否所有必填字段都填写在特定的 div 中

regex - 验证器正则表达式模式输入仅接受 2-5 位数字

ruby-on-rails - 我可以强制 Rails 自动加载命名空间而不嵌套在文件夹中吗?

ruby-on-rails - rails : Uploading a file to AS3 using fog and resque

mysql - 考虑在 Rails 上进行扩展,您会编写手写 SQL 吗?使用续集 gem ?

ruby-on-rails - NoMethodError 未定义方法 `fields' 为 nil :NilClass

ruby-on-rails - gem 安装在哪里?

ruby-on-rails - Has_secure_password rails 将 password_digest 更改为密码

css - 如何从数据库中获取属性值并应用于表单