首頁  >  文章  >  後端開發  >  yii2中的rules 自訂驗證規則詳解 rules card yii rules techrules

yii2中的rules 自訂驗證規則詳解 rules card yii rules techrules

WBOY
WBOY原創
2016-07-29 08:52:431680瀏覽

yii2的一個強大之處之一就是他的Form組件,既方便又安全。有些小夥伴覺得用yii一段時間了,好嘛,除了比tp"難懂"好像啥都沒有。

領導安排搞一個註冊的功能,這傢伙刷刷刷的又是百度啥啥啥好的表單樣式,又是百度啥啥啥validate驗證,真替這傢伙捏把汗。

當然啦,廢話說在前頭,咱們的重點喃,是要利用ActiveForm,然後怎麼去實現自訂驗證規則。

先來說說場景:

條件:①、有兩個欄位分別是A和B ②、A有兩個值分別是1和2

需求是:當使用者選擇的A的值等於1的時候,B的值必須填寫,當A的值等於2的時候,B的值不寫也沒關係。其中A必選。

我們來看看用Yii2自帶的rules怎麼去實現

首先在其關聯model上加上下面這句規則

/**
* @inheritdoc
*/
public function rules()
{
return [
[['B'], 'requiredByASpecial'],
];
} 

然後在該model去實現requiredB

/**
* 自定义验证B
*/
public function requiredByASpecial($attribute, $params)
{
if ($this->A== 1) 
{
if ($this->B=== '')
$this->addError($attribute, "B的值不可以为空.");
}
}

然後在該model


上面的意思是說當A等於1且B的值為空時,回傳錯誤訊息"B的值不可以為空"。


以上只是舉了一個簡單的例子,可以根據具體需求應用。

以上所述是小編給大家介紹的yii2 rules 驗證規則的全部內容,希望對大家有幫助!

以上就介紹了yii2中的rules 自訂驗證規則詳解,包括了rules方面的內容,希望對PHP教程有興趣的朋友有所幫助。

🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn