AR삽질러

Rails 一日一つメソッド (Day29) errors.add 본문

Ruby/RubyOnRails-日本語

Rails 一日一つメソッド (Day29) errors.add

아랑팡팡 2024. 2. 6. 10:57
728x90

 

Rails 一日一つメソッド (Day29) errors.add

 

1. errors.addとは?

 - Railsの ActiveRecordモデルで Validation検証を失敗した時、特定の条件によってエラーメッセージをオブジェクトに追加するために使われる。

 

2. 主な機能 ・ 活用例

 1) モデルValidate

  - モデルインスタンスがDataBaseに保存される前に該当するモデルのデータが正しいかどうかを検証する。

 2) Userが定義した validate検証

  - 標準 Validation検証以外にも Userが定義した複雑なビジネスロジックによValidation検査を検証する。

 3) フィードバック提供

  - フォームを使用して、データを提出したユーザーに無効な入力に対する明確なフィードバックを提供する。

 

3. errors.add使い方

class User < ApplicationRecord
	validates :password
	validates :password_confirmation_math
    
    def password_confirmation_match
    	if password.present? && password_confirmation.present? && password != password_confirmation
        errors.add(:password_confirmation, "Passwordが一致しません。")
    end
end

 

errors.add 

 - Userモデルに定義された password_confirmation_matchメソッドを通して passwordとpassword_confirmationの一致を検査するカスタム Validationチェック

 - Userが入力した passwordと password確認フィールド一致するのを検証し、値が異なる場合、エラーメッセージを表紙する。

 - :password_confirmation : 最初のパラメーターは Userが定義した validation検証のメソッド名

 - 二つ目のパラメータはエラーメッセージ文字列 : "Passwordが一致しません。"

 

password_confirmation_mathメソッドはUser Formで提出した Userモデルオブジェクトに保存する前に呼び出され validatesメソッドと一緒に validate :password_confirmation_math をモデル class内部に宣言し検証する。

728x90
반응형
LIST