1

我有一个包含多个字段的表单,这些字段具有整数输入。我对存在、包含和数量等领域进行了基本验证。然而,我坚持的部分是检查所有字段的总和是否等于 100。我需要找到一种方法来总结字段中的所有值并确保它们与验证器相加等于 100。我考虑使用一个虚拟属性来对字段进行求和,然后对该值使用验证器,但是,我不确定如何实现它。任何帮助将不胜感激。

谢谢,一个困惑的rails初学者

4

1 回答 1

0

您可以使用自定义验证方法:请参阅http://guides.rubyonrails.org/active_record_validations_callbacks.html#custom-methods了解更多信息。

因此,例如尝试以下操作,其中 field1 和 field2 是模型上的属性:

class Klass < ActiveRecord::Base

  validate :sum_equals_100

  def sum_equals_100
     if field1 + field2 != 100
       errors.add(:base, 'fields must sum to 100')
     end
  end
end
于 2013-05-16T03:32:10.893 回答