1、自定义验证器:
class Admin extends validate
{
protected $rule = [
'catename' => 'unique:cate|require|length:4,25'
];
protected $message = [
'catename.require' => '请填写栏目名称',
'catename.unique' => '栏目已存在',
'catename.length' => '长度不在3-5个字符',
];
protected $scene=['add'=>['catename'],'edit'=>['catename']]
}
2. 模型层或控制层
public function edit(){
$ad=new Adverts();
if(request()->isPost()){
$data=input('post.');
$validate = new AdValidate();
if(!$validate->scene('edit')->check($data)){
return $this->return_msg(200,$validate->getError());
}
$save=$ad->update($data);
if($save){
return $this->return_msg(0,'修改成功');
}else{
return $this->return_msg(200,'修改失败');
}
}
return view();
}
规则是:unique:【模型类名(或表名)】,【要验证的字段(或者包含=号或者包含^号,但是必须把本身的条件加入,别以为前面有name了就不把name本身加进去了)】,【要排除的字段】,【主键(可不填)】
为了方便大家可以访问thinkphp6的验证规则,地址为:https://www.kancloud.cn/manual/thinkphp6_0/1037629