[laravel Validator验证坑一]:
在使用put请求更新数据的时候Validatator是不会触发的,将put修改为了post之后Validator才能触发验证
[laravel Validator验证坑二]:
在更新数据时候如果想要判断唯一的字段 如: 用户手机号码、邮箱等该如何处理呢?
say: 仔细查看过laravel手册的人都知道 这一点laravel已经帮我们处理了,
但是部分同学或许是由于粗心没有看到这一块的内容。具体看下方:
## 首先Validator中的 $rules默认是用 protected修饰的, 在update情况下,将$rules的修饰符修改为
public class DemoUpdateValidator extends BaseValidator
{
public $rules = [];
protected $messages = [];
protected $attributes = [];
}
## 然后在需要调用该DemoUpdateValidator的地方 定义 rules内容
$demoUpdateVali= new DemoUpdateValidator();
$demoUpdateVali->rules = [
'user_number' => [ // 编号
'required',
Rule::unique('user表名')->ignore('要更新的字段id'),
],
'mobile' => [ // 手机号码
'required',
Rule::unique('用户表名')->ignore($this->data['id']),
'numeric'
],
];
$demoUpdateVali->check();
网友评论