Railsのバリデーションは優秀で自動的にエラーメッセージを表示してくれます。
例えば入力が必須の項目(nameとします)に何も入っていなかった時はこんな感じです。
*Name can't be blank *Name is invalid
しかしinvalidだってことは自明なので取り除きたい。
そんな時はModel(Userモデルとします)においてバリデーションが終わった後に取り除いてしまえばいいんです。
#user.rb after_validation :remove_unnecessary_error_messages
とするとバリデーションが終わった後に「remove_unnecessary_error_messages」を実行してくれます。
そして不必要なメッセージを削除してあげます。
#user.rb def remove_unnecessary_error_messages errors.messages.delete(:users) end
どのメッセージを削除するかは「errors.messages」の中身を見て判断してください。