本文實例講述了Yii2框架自定義驗證規則操作。分享給大家供大家參考,具體如下:
廢話不多說直接上代碼
class AbcModel extends Model{ public $aaa; public $bbb; public $bbb; /** * 驗證提交的form表單 * * @return array */ public function rules() { return [ // 自定義驗證 [['aaa', 'bbb', 'ccc'], 'customValidationCityCode'], ]; } public function customValidationCityCode($attribute, $params) { if (!isset($this->$attribute) || empty($this->$attribute) || !is_array($this->$attribute) ) { $this->addError($attribute, "值為空或不存在或類型不符合."); return; } }}
上面的代碼意思就是 當啟用(new Abc())->validate()
后就會根據rules順序驗證屬性 ,而customValidationCityCode這個自定義驗證方式是 有多少個需要驗證的參數就會調用多少次customValidationCityCode方法 ,customValidationCityCode方法中的參數$attribute就是分別對應 aaa bbb ccc
這兩個值是在yii/validators類中,主要作用分別是:
yii中實例controller是利用反射機制實例化的 在yii2/vendor/yiisoft/yii2/di/Container.php文件中
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選