我在'name'属性上有一个带有2个验证的模型。它是这样的:
validates :name, :uniqueness => true
validate do
errors.add(:name, "is dumb") if name_is_dumb?
end
如果第一次验证失败(名称不唯一),我不希望第二次验证运行。
最好和最干净的方法是什么?
答案 0 :(得分:2)
回调通常在。中运行 命令他们被定义,与 定义为的回调异常 模型上的方法,称为 最后。
因此,以下代码段应该有效:
validates :name, :uniqueness => true
validate do
errors.add(:name, "is dumb") unless errors[:name].nil?
end