2012-01-29 14 views
2

私は私のモデルでは、これらのルールを使用します。右形状(Railsの3)

validates_presence_of :email, :message => "E-mail must be filled!" 
    validates_format_of :email, :with => /\A[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]+\z/, :message => "This is not email address!" 
    validates_uniqueness_of :email, :message => "This email is already taken!" 

    validates_confirmation_of :password, :message => "Password must be the same!" 
    validates_presence_of :password_confirmation, :length => { :minimum => 6, :maximum => 40 }, :message => "Your password must have at least 6 characters!" 

私は空のフォームを送信する場合、出力は上記のものを5行のすべてを表示しますように。第1ルールと第5ルールだけを表示するにはどうすればいいですか?

+0

レンダリング前に未使用のエラーをクリアしましたか? – Fivell

答えて

1

Here's one solution

本質的には、存在確認を除くすべての検証で:allow_blankオプションを使用することです。フィールドが空白の場合、Railsは検証をスキップします。この方法では、空のフォームを送信するときに欠損値に関連するエラーメッセージのみが表示されます。