Yii-ad-hoc-validation
提供:Dev Guides
Yii-アドホック検証
モデルにバインドされていない値を検証する必要がある場合があります。 yii \ base \ DynamicModel クラスを使用できます。このクラスは、属性とルールの両方をオンザフライで定義することをサポートします。
ステップ1 *- *actionAdHocValidation メソッドを SiteController に追加します。
上記のコードでは、ユーザー名と電子メールの属性で*「動的」*モデルを定義し、それらを検証します。
ステップ2 *-Webブラウザのアドレスバーに *http://localhost:8080/index.php?r = site/ad-hoc-validation と入力すると、メールが14文字であるためエラーメッセージが表示されます。長いです。
カスタム検証
カスタムバリデータには2種類あります-
- インラインバリデーター
- スタンドアロンのバリデーター
- インラインバリデータは、モデルメソッドまたは匿名関数によって定義されます。 属性が検証に失敗した場合、* yii \ base \ Model
- addError()*メソッドを呼び出してエラーメッセージを保存する必要があります。
次の RegistrationForm の例は、cityプロパティを検証するため、ロンドンとパリの2つの値のみを受け入れることができます。
- スタンドアロンのバリデーターは yii \ validators \ Validator クラスを拡張します。 検証ロジックを実装するには、* yii \ validators \ Validator
- validateAttribute()*メソッドをオーバーライドする必要があります。
ステップ1 *-スタンドアロンのバリデータを使用して前の例を実装するには、 *CityValidator.php ファイルを components フォルダーに追加します。
ステップ2 *-次に、 *RegistrationForm モデルをこの方法で変更します。