不存在时不显示其他验证消息

时间:2012-10-11 07:56:39

标签: ruby-on-rails ruby-on-rails-3 validation

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

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

如果未达到:length,如何隐藏:format:presence验证错误?

2 个答案:

答案 0 :(得分:4)

尝试:allow_blank =>在第二次和第三次验证中都是如此。

答案 1 :(得分:3)

我认为你可以这样做:

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

当没有设置用户名时,它不会关心长度和格式验证,但是如果键入至少一个字符,它将正常工作。