2

現在、以下によって検証されているフィールドを持つUserモデルがあります。username

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

:length満たされていない場合、:format検証エラーを非表示にするにはどうすればよい:presenceですか?

4

2 に答える 2

4

2 回目と 3 回目の検証で :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 }

ユーザー名が設定されていない場合、長さと形式の検証は考慮されませんが、少なくとも 1 文字が入力されていれば問題なく動作します。

于 2012-10-11T08:12:12.740 に答える