yii2 の強力な機能の 1 つは、便利で安全な Form コンポーネントです。 Yii をしばらく使ってみると、TP よりも「わかりにくい」としか思えないという友人もいます。
この人はBaiduのさまざまな良いフォームスタイルとBaiduの検証を使用して登録機能を手配しました、この人には本当に申し訳ありません。
もちろん、これ以上面倒なことはせずに、ActiveForm を使用すること、そしてカスタム検証ルールを実装する方法に焦点を当てます。
まずシナリオについて話しましょう:
条件: ①. A と B の 2 つのフィールドがあります。 ②. A には 2 つの値があります。
要件は次のとおりです: ユーザーが値を選択するときA の値が 1 の場合、B の値は書き込まれなければなりません。A の値が 2 の場合、B の値は書き込まれなくても問題ありません。このうちAは必須です。
Yii2 に付属のルールを使用して実装する方法を見てみましょう
まず、関連付けられたモデルに次のルールを追加します
/** * @inheritdoc */ public function rules() { return [ [['B'], 'requiredByASpecial'], ]; }
次に、モデルに requiredByASpecial メソッドを実装します
/** * 自定义验证B */ public function requiredByASpecial($attribute, $params) { if ($this->A== 1) { if ($this->B=== '') $this->addError($attribute, "B的值不可以为空."); } }
上記は、次のことを意味しますA が 1 で、B の値が空の場合、「B の値を空にすることはできません」というエラー メッセージが返されます。
上記は単なる例であり、特定のニーズに応じて適用できます。
以上が編集者が紹介したyii2ルール検証ルールの全内容です、皆様のお役に立てれば幸いです!
上記では、yii2 のルールのカスタム検証ルールの詳細な説明を、ルールの内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。