我有以下模型字段验证:
validates_uniqueness_of :acronym, :scope => [:group_id], :case_sensitive => false
问题是这个字段是可选的,并且返回一个空/零值作为已经采用的首字母缩略词。我只想验证一个首字母缩写词是否是唯一的,如果提供了一个值。有没有办法更新此验证只有在有实际值时才会发生..不是nil / empty?
由于
答案 0 :(得分:59)
是的,您可以将两个可能的选项传递给可选字段的验证::allow_blank
或:allow_nil
,这将跳过blank
和nil
字段的验证, 分别。如果将验证更改为以下内容,则应获得所需的行为:
validates_uniqueness_of :acronym, :allow_blank => true, :scope => [:group_id], :case_sensitive => false