在自定义验证期间突出显示其他字段

时间:2012-09-16 15:38:50

标签: ruby-on-rails ruby ruby-on-rails-3

我的模型中的自定义验证与此非常相似:

Multifield/range validation

并且提供的解决方案正常工作:

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

使用:base只会导致1个错误,这很好,因为我不想在这里显示相同的两个错误。但是,没有突出显示任何字段,我也需要突出显示:start:stop字段,就像我在:start中使用:stoperrors.add一样。< / p>

我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

如果这不适合您:

  • 自定义它,see Railscast

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