0

我的模型中有自定义验证,与这个非常相似:

多字段/范围验证

并且提供的解决方案有效:

errors.add(:base, 'Start date must be before stop date') if self.start > self.stop

使用:base只会导致 1 个错误,这很好,因为我不希望两个单独的错误在这里显示相同。但是,没有突出显示任何字段,我也需要突出显示:startand:stop字段,就好像我在使用:startor :stopin一样errors.add

我怎样才能做到这一点?

4

1 回答 1

0

您应该利用 Rails 的内置机制:它们包括使用divwithfield_with_error类包装包含错误的表单字段。

如果这不适合您:

  • 自定义它,请参阅 Railscast

  • 更多手动解决方案,检查您的实例承担哪些错误并采取相应措施,即@instance.errors.include? :filed_name. 在此范围内,不要将所有错误添加到base

于 2012-09-16T16:42:39.683 回答