我正在开发一个 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/