我們在用thinkphp5.0時候,經常要自定義驗證規則,這個寫法與tp以前的版本有所區別,小編今天帶來大家一起來學習一下5.0下驗證規則的使用方法。
在thinkphp5中定義$rule(驗證規則)有兩種方式
方式一:
$rule = [ // 不可以在此處定義空的驗證 如 'name' => '',會導致出現result未定義錯誤 'name' => 'require|max:25', 'age' => 'number|between:1,120', ];
方式二:
$rule = [ 'name' => ['require','max'=>25], 'age' => ['number','between'=>'1,120'], ];
如果方式一自定義驗證規則的話,就可以這樣寫
$rule = [ 'name' => 'require|max:25|checkName:', 'age' => 'number|between:1,120', ]; protected function checkNmae($value) { $value 是name值,可以在此處進行驗證,如正則驗證 }
如果是方式二的話,寫法如下
$rule = [ 'name' => ['require','max'=>25,'checkName'=>'$rule參數'], 'age' => ['number','between'=>'1,120'], 'email' => ['require', 'checkUserEmail'=>'qq.com'], ]; protected function checkName($value, $rule) { $vaule 是name值,$rule為上面的$rule參數 } protected function checkUserEmail($value,$rule) { $res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/', $value); if (!$res) { return '郵箱只能是'.$rule.'域名'; } else { return true; } }
以上就是我們給出的兩種方法的代碼,如果你有更好的方法或者代碼可以在下面的留言區討論留言。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。