6
有没有一种方法可以在保存记录之前验证一个text_field不等于另一个text_field?我有两个text_fields整数在他们和他们不能相同的记录是有效的。Rails验证一个值不等于另一个值
有没有一种方法可以在保存记录之前验证一个text_field不等于另一个text_field?我有两个text_fields整数在他们和他们不能相同的记录是有效的。Rails验证一个值不等于另一个值
您可以添加自定义验证:
class Something
validate :fields_a_and_b_are_different
def fields_a_and_b_are_different
if self.a == self.b
errors.add(:a, 'must be different to b')
errors.add(:b, 'must be different to a')
end
end
这都会被调用你的对象进行验证(无论是明示或当您保存与验证)和时间会为这两个字段添加一个错误。您可能希望两个字段都有错误,以便在表单中以不同的方式呈现它们。
否则,你可以只添加一个基误差:
errors.add(:base, 'a must be different to b')
在你的模型:
validate :text_fields_are_not_equal
def text_fields_are_not_equal
self.errors.add(:base, 'Text_field1 and text_field2 cannot be equal.') if self.text_field1 == self.text_field2
end