比方说,如果它返回false,我想创建一个条件以不创建新记录。我的自定义验证未创建回滚。
user.rb
class User < ApplicationRecord
validate :test # my custom validation
private
def test
# condition to return false
false
end
end
我应该进行其他任何预览配置吗?谢谢。
答案 0 :(得分:1)
自定义验证应在模型的错误数组中添加错误,例如:
def test
errors[:base] << "This user is invalid because ..."
end
方法valid?
检查errors
数组中是否有任何错误。它不关心自定义验证器的返回值。