ホームページ  >  記事  >  バックエンド開発  >  yii2 のルール カスタム検証ルールの詳細な説明 ルール カード yii ルール techrules

yii2 のルール カスタム検証ルールの詳細な説明 ルール カード yii ルール techrules

WBOY
WBOYオリジナル
2016-07-29 08:52:431722ブラウズ

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 チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。