Railsでは、モデルのカスタム検証メソッドを記述できます。バリデータは、そのバリデーションを定義したいアクションを実行したいときに呼び出されます。これらのバリデータは、validates_with CustomValidator
またはvalidates :attribute, custom_validator: true
などで呼び出すことができます。検証ヘルパーの使用とコントローラからのカスタム検証メソッドの呼び出しの違いは何ですか?
関連するコントローラからモデルのクラスメソッドを呼び出すこともできます。これらのヘルパーを使用し、Model.custom_validator(params)のように、コントローラから直接オブジェクトのバリデータメソッドを呼び出すことの違いは何ですか?
これらのヘルパーはコントローラをリーンに保つか、より根本的な理由がありますか?
バリデーションを定義する方法について私はあなたに同意しますが、私は間違っていました。これらのヘルパーを使用して検証するときに呼び出されるメソッドを定義できると言うのが正しいでしょうか? – RM3
@ RM3:これも間違っています:) –
Validatorクラスを継承するクラスとして別にバリデーターを定義します。次に、これらのヘルパーは、検証されるレコード/ものを、それが指し示すバリデータに渡しますか? – RM3