请教在表单验证时,设置了unique,如果排除NULL

请教在表单验证时,设置了unique,如果排除NULL
我现在设置了注册时邮箱为选填项,默认为NULL,后面在编辑用户资料时,如果设定了unique,它就会判断已有其他的用户邮箱为NULL,导致不能通过:
$rules = [
'name' => 'required|unique:users|max:11',
'password' => 'required|min:6',
'nick' => 'required|max:30',
'real_name' => 'max:30',
'email' => 'email|unique:users,email,'.$model->id,
];
已邀请:

Jachase

赞同来自:

NULL在mysql里面是未知的意思,固在mysql里面的null可以理解为不相等的。
可能你在程序里面email写法有问题,选填字段应用sometimes表面
改成'email' => 'sometimes|email|unique:users,email',
还有你最后的$model->id是强制忽略指定的 ID????

eclanp

赞同来自:

好的,非常感谢

要回复问题请先登录注册