我們在用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; }}
以上就是我們給出的兩種方法的代碼,如果你有更好的方法或者代碼可以在下面的留言區討論留言。
新聞熱點
疑難解答
圖片精選