著者: Bailang 出典: www.manks.top/article/yii2_custom_rules
この記事の著作権は著者に帰属しており、転載は自由ですが、この記述は著者の承諾なしに保持し、記事ページのわかりやすい位置に原文へのリンクを表示する必要があります。そうでない場合、当社は法的責任を追及する権利を留保します。
yii2 の強力な機能の 1 つは、便利で安全な Form コンポーネントです。 Yii をしばらく使ってみると、TP よりも「わかりにくい」としか思えないという友人もいます。
リーダーが登録機能を用意してくれたのに、この人はBaiduのさまざまな良いフォームスタイルを使用し、Baiduの検証を使用しました、この人は本当に残念です。
もちろん、これ以上面倒なことはせずに、ActiveForm を使用することと、カスタム検証ルールを実装する方法に焦点を当てます。
まずシーンについて話しましょう:
条件: ①. A と B という 2 つのフィールドがあります。 ②. A には、それぞれ 1 と 2 の 2 つの値があります。
要件は、ユーザーが選択したAの値が1に等しい場合、Bの値を入力する必要があります。Aの値が2に等しい場合、Bの値は書き込まれなくても問題ありません。 。このうちAは必須です。Yii2 に付属のルールを使用して実装する方法を見てみましょう
まず、関連するモデルに次のルールを追加します
リーリー
次に、モデルに requiredByASpecial メソッドを実装しますリーリー
上記は、A が 1 で、B の値が空の場合、「B の値を空にすることはできません」というエラー メッセージが返されることを意味します。上記は単なる例であり、特定のニーズに応じて適用できます。