laravel 表单验证请求类 更新 唯一性检测
2019-03-28 本文已影响0人
IT宝哥哥
在自定义的request类中,如果是新增的话,像下面这样写是没问题的
public function rules()
{
return [
'username'=>'required|string|unique:member|between:6,20',
'nickname'=>'required|string|unique:member|between:2,20',
'password'=>'nullable|confirmed|between:6,32',
'mobile'=>'nullable|max:11'
];
}
但是在更新的时候回出现没有更改该唯一性字段,但是却提示已存在,需要修改如下
public function rules()
{
$member = $this->route('member');
// dump($member);die;//这里的member就是当前的实例
return [
'username'=>'required|string|unique:member,username,'.$member['uid'].',uid|between:6,20',
'nickname'=>'required|string|unique:member,nickname,'.$member['uid'].',uid|between:2,20',
'password'=>'nullable|confirmed|between:6,32',
'mobile'=>'nullable|max:11'
];
}
unique:table,column,except,idColumn// table:要验证的数据表,column:要验证的列(一般和字段名一样),except:排除哪些?,idColumn:排除的id字段(一般为id,如果是自定义的,需要写自定义的)
//在指定的数据表中,验证字段必须是唯一的。如果没有指定 column,将会使用字段本身的名称。