yii2中自訂驗證規則rules,yii2rules
作者:白狼 出處:www.manks.top/article/yii2_custom_rules
本文著作權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。
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裡面去實現requiredByASpecial方法即可
/** * 自訂驗證B */ public function requiredByASpecial($attribute, $params) { if ($this->A== 1) { if ($this->B=== '') $this->addError($attribute, "B的值不可以為空白."); } }
上面的意思就是說當A等於1且B的值為空白時,返回錯誤資訊"B的值不可以為空白"。
以上只是舉了一個簡單的例子,可以根據具體需求應用。
http://www.bkjia.com/PHPjc/1121386.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1121386.htmlTechArticleyii2中自訂驗證規則rules,yii2rules 作者:白狼 出處:www.manks.top/article/yii2_custom_rules 本文著作權歸作者,歡迎轉載,但未經作者同意必須保留...