我們?cè)谟胻hinkphp5.0時(shí)候,經(jīng)常要自定義驗(yàn)證規(guī)則,這個(gè)寫法與tp以前的版本有所區(qū)別,小編今天帶來(lái)大家一起來(lái)學(xué)習(xí)一下5.0下驗(yàn)證規(guī)則的使用方法。
在thinkphp5中定義$rule(驗(yàn)證規(guī)則)有兩種方式
方式一:
$rule = [
// 不可以在此處定義空的驗(yàn)證 如 'name' => '',會(huì)導(dǎo)致出現(xiàn)result未定義錯(cuò)誤
'name' => 'require|max:25',
'age' => 'number|between:1,120',
];
方式二:
$rule = [
'name' => ['require','max'=>25],
'age' => ['number','between'=>'1,120'],
];
如果方式一自定義驗(yàn)證規(guī)則的話,就可以這樣寫
$rule = [
'name' => 'require|max:25|checkName:',
'age' => 'number|between:1,120',
];
protected function checkNmae($value)
{
$value 是name值,可以在此處進(jìn)行驗(yàn)證,如正則驗(yàn)證
}
如果是方式二的話,寫法如下
$rule = [
'name' => ['require','max'=>25,'checkName'=>'$rule參數(shù)'],
'age' => ['number','between'=>'1,120'],
'email' => ['require', 'checkUserEmail'=>'qq.com'],
];
protected function checkName($value, $rule)
{
$vaule 是name值,$rule為上面的$rule參數(shù)
}
protected function checkUserEmail($value,$rule)
{
$res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/', $value);
if (!$res) {
return '郵箱只能是'.$rule.'域名';
} else {
return true;
}
}
以上就是我們給出的兩種方法的代碼,如果你有更好的方法或者代碼可以在下面的留言區(qū)討論留言。
您可能感興趣的文章:- ThinkPHP5 驗(yàn)證器的具體使用
- Thinkphp5 微信公眾號(hào)token驗(yàn)證不成功的原因及解決方法
- tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
- 學(xué)習(xí)thinkphp5.0驗(yàn)證類使用方法
- thinkPHP5框架自定義驗(yàn)證器實(shí)現(xiàn)方法分析
- thinkphp5框架API token身份驗(yàn)證功能示例
- thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法
- thinkphp5使用bootstrapvalidator進(jìn)行異步驗(yàn)證郵箱的示例
- ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】
- Thinkphp5框架使用validate實(shí)現(xiàn)驗(yàn)證功能的方法