9

このような多くの検証をより簡潔に指定する方法はありますか?

validates :col_a, :presence => {:message => 'col_a cannot be blank'}
validates :col_b, :presence => {:message => 'col_b cannot be blank'}
validates :col_c, :presence => {:message => 'col_c cannot be blank'}

必要に応じて、一般的なメッセージで解決します。

4

3 に答える 3

26

バリデーターに複数のフィールド名を与えることができます

validates :col_a, :col_b, :col_c, :presence => true

同じ行に複数のバリデータを指定できます。

validates :col_a, :col_b, :col_c, :presence => true, :numericality => true

完全なエラー メッセージには、フィールド名が含まれます。フィールド名のプレフィックスを追加する必要はありません。カスタム メッセージを使用する場合は、次のようにします。

validates :col_a, :col_b, :col_c, :presence => {:message => "empty value found"}
于 2013-02-21T10:56:58.900 に答える
2

使用できます

validates :col_a, presence: true
validates :col_b, presence: true
validates :col_c, presence: true
于 2013-02-21T03:13:01.157 に答える
1

validates_presence_of ヘルパーを使用します。

validates_presence_of :col_a

編集

validates_each で少しクリーンアップできます。APIページに例があります。http://api.rubyonrails.org/classes/ActiveModel/Validations.html

それが役立つことを願っています

于 2013-02-20T21:10:55.283 に答える