Ruby-on-rails-2.1-rails-input-validations

提供:Dev Guides
移動先:案内検索

Ruby on Rails 2.1-ユーザー入力の検証

これは、ユーザー入力で実行できる検証のリストです-

validates_presence_of

次のコードは、last_nameとfirst_nameにデータが含まれ、NULLでないことを確認します。

validates_presence_of :firstname, :lastname

validates_length_of

次の例は、単一のファイルに対するさまざまな検証を示しています。 これらの検証は個別に実行できます。

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'
   :too_long => 'way to long'

validates_acceptance_of

次のコードは、オプションフィールドに「Y」値のみを受け入れます。

validates_acceptance_of :option
                        :accept => 'Y'

validates_confirmation_of

フィールドのパスワードとpassword_confirmationは一致する必要があり、次のように使用されます-

validates_confirmation_of :password

validates_uniqueness_of

次のコードは、user_nameが一意になるように条件を設定します。

validates_uniqueness_of :user_name

validates_format_of

次のコードは、指定された電子メールIDが有効な形式であることを検証します。 正規表現を使用してフィールドを検証する方法を示しています。

validates_format_of :email
    :with =>/^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

validates_numericality_of

指定されたフィールドが数値であることを検証します。

validates_numericality_of   :value
                            :only_integer => true
                            :allow_nil => true

validates_inclusion_of

次のコードは、渡された値が列挙であり、指定された範囲に収まることを確認します。

validates_inclusion_of  :gender,
                        :in => %w( m, f )

validates_exclusion_of

次のコードは、指定された値が指定された範囲に入らないことを確認します。

validates_exclusion_of  :age
                        :in => 13..19

validates_inclusion_of

次のコードは、指定された値が指定された範囲に収まることを確認します。 これはvalidates_exclusion_ofの反対です。

validates_inclusion_of  :age
                        :in => 13..19

validates_associated

関連するオブジェクトが有効であることを検証します。

すべての検証のオプション

すべての検証とともに次のオプションを使用できます。

  • *:message ⇒ 'my own errormessage' *これを使用して、検証が失敗した場合にカスタムエラーメッセージを出力します。
  • *:on ⇒:createまたは:update *これは、次のような場合に使用されます。 レコードが作成または更新されているときにのみ検証を実行したい。 *:create *を使用する場合、この検証は、データベースで作成操作がある場合にのみ機能します。