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