Ruby-on-rails-rails-input-validations
提供:Dev Guides
Ruby on Rails-ユーザー入力の検証
これは、ユーザー入力で実行できる検証のリストです-
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 *を使用する場合、この検証は、データベースにcreate操作がある場合にのみ機能します。
検証の詳細については、http://guides.rubyonrails.org/active_record_validationsl [Validations]リンクを確認してください。