2

现在,我有一个User模型,其中一个username字段正在通过以下方式验证:

validates :username, 
    :presence => true,
    :length => { :in => 3..60 }, 
    :format => { :with => /^[a-zA-Z0-9\-_ ]+$/ }

如果不满足,我该如何隐藏:length:format验证错误?:presence

4

2 回答 2

4

在第二次和第三次验证中尝试 :allow_blank => true 。

于 2012-10-11T10:27:47.873 回答
3

我认为你可以这样做:

validates :username, 
  :presence => true,
  :length => { :in => 3..60, :allow_nil => true }, 
  :format => { :with => /^[a-zA-Z0-9\-_ ]+$/, :allow_nil => true }

当未设置用户名时,它不会关心长度和格式验证,但它会在输入至少一个字符时正常工作。

于 2012-10-11T08:12:12.740 回答