我有以下模型现场验证:
validates_uniqueness_of :acronym, :scope => [:group_id], :case_sensitive => false
问题在于,该字段是可选的,空/nil值作为已使用的首字母缩略词返回.我只想验证,如果提供了值,首字母缩写词是唯一的..是否有方法更新此验证,使其仅在存在实际值时进行..不是零/空?
谢谢
我有以下模型现场验证:
validates_uniqueness_of :acronym, :scope => [:group_id], :case_sensitive => false
问题在于,该字段是可选的,空/nil值作为已使用的首字母缩略词返回.我只想验证,如果提供了值,首字母缩写词是唯一的..是否有方法更新此验证,使其仅在存在实际值时进行..不是零/空?
谢谢
是的,有两个可能的选项可以传递给可选字段的验证::allow_blank
或:allow_nil
,这将分别跳过blank
和nil
字段的验证.如果将验证更改为以下内容,则应获得所需的行为:
validates_uniqueness_of :acronym, :allow_blank => true, :scope => [:group_id], :case_sensitive => false