1,普通驗(yàn)證規(guī)則
1、先在控制器同級(jí)目錄下創(chuàng)建一個(gè)文件夾名叫validata,該文件夾內(nèi)創(chuàng)建一個(gè)類(lèi)文件,名叫Pass,該文件名必須大寫(xiě),且與類(lèi)名一致。還要繼承Validate類(lèi)
//定義類(lèi)的命名空間和USE
namespace app\center\validate;
use think\Validate;
protected $rule = [
'olduser_password' => 'require|min:6|max:16',
'user_password' => 'require|min:6|max:16',
'qruser_password' => 'require|min:6|max:16'
];
protected $message = [
'olduser_password.require' => '舊密碼必須',
'olduser_password.max' => '舊密碼最多不能超過(guò)16個(gè)字符',
'olduser_password.min' => '舊密碼最最少不能小于6個(gè)字符串',
'user_password.require' => '新密碼必須',
'user_password.max' => '新密碼最多不能超過(guò)16個(gè)字符',
'user_password.min' => '新密碼最最少不能小于6個(gè)字符串',
'qruser_password.require' => '確認(rèn)密碼必須',
'qruser_password.max' => '確認(rèn)密碼最多不能超過(guò)16個(gè)字符',
'qruser_password.min' => '確認(rèn)密碼最最少不能小于6個(gè)字符串',
];
//使用方法
$validate = validate(定義的驗(yàn)證類(lèi)文件名);
if (!$validate->check(前臺(tái)傳來(lái)的參數(shù)數(shù)組))
{
$result['code'] = 0;
$result['msg'] = $validate->getError();//驗(yàn)證后返回的錯(cuò)誤方法
$this->ajaxReturn($result);
}
2,場(chǎng)景驗(yàn)證規(guī)則
除了上述的普通驗(yàn)證規(guī)則外還要加一個(gè)數(shù)組,該數(shù)組是使用場(chǎng)景,即為驗(yàn)證2個(gè)form表單
protected $scene = [
'info' => ['nick_name','real_name','desc'],
'infoPass' => ['olduser_password','user_password','qruser_password'],
];
//實(shí)例化驗(yàn)證類(lèi)文件
$validate = new \app\center\validate\Info;
$valiresult = $validate->scene(定義的場(chǎng)景名,傳來(lái)的參數(shù)數(shù)組);
if(!$valiresult->check($Params))//檢查驗(yàn)證結(jié)果true ,false
{
$getError['code']=0;
$getError['msg']=$validate->getError();
$this->ajaxReturn($getError);
}