我有一个具有此类验证规则的模型:
validates :terms, acceptance: true
但是,只有在我明确将terms
属性设置为false
时,此验证才有效。如果我不触摸此属性(因此它将是nil
),验证成功。
user = User.new
user.valid?
=> true
user.terms
=> nil
user.terms = false
user.valid?
=> false
user.terms = true
user.valid?
=> true
默认情况下,如何使此验证失败?
答案 0 :(得分:1)
验证有一个选项allow_nil: false
,如果nil
值,则会强制失败。
validates :terms, acceptance: true, allow_nil: false
user = User.new
user.valid?
=> false
user.terms
=> nil