Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电子邮件地址字段的值已被使用。laravel请求验证_Laravel_Validation_Email_Request_Unique - Fatal编程技术网

电子邮件地址字段的值已被使用。laravel请求验证

电子邮件地址字段的值已被使用。laravel请求验证,laravel,validation,email,request,unique,Laravel,Validation,Email,Request,Unique,我在请求字段中的验证有问题,我将电子邮件设置为唯一的,当我添加新行时,它工作得很好,但是当我更新它们时,我遇到了问题,这是因为用户数据库,所以我如何在更新步骤中忽略电子邮件字段 以下是我的验证行: “电子邮件”=>“必需”|唯一:用户,电子邮件” 实际上,我正在添加员工并自动添加用户,因此我现在尝试将验证添加到员工请求中,同时找到一个解决方案,可以在更新过程中忽略电子邮件 非常感谢。更新您的验证规则,以忽略针对当前用户触发的唯一要求: 'email' => 'required|email|

我在请求字段中的验证有问题,我将电子邮件设置为唯一的,当我添加新行时,它工作得很好,但是当我更新它们时,我遇到了问题,这是因为用户数据库,所以我如何在更新步骤中忽略电子邮件字段

以下是我的验证行: “电子邮件”=>“必需”|唯一:用户,电子邮件”


实际上,我正在添加员工并自动添加用户,因此我现在尝试将验证添加到员工请求中,同时找到一个解决方案,可以在更新过程中忽略电子邮件


非常感谢。

更新您的验证规则,以忽略针对当前用户触发的唯一要求:

'email' => 'required|email|unique:users,email,'.auth()->user()->id,

上述操作将阻止其他用户将其电子邮件更改为数据库中存在的电子邮件,但是,当他们仅更新自己的信息时,不会触发
唯一的
错误。

您能否从控制器共享您的更新方法以查看您的查询。我认为您的更新查询不是从请求中获取电子邮件,而是添加旧的。在这种情况下,若更新查询可以工作,它不应该显示唯一的错误。因此,您的查询一定是在向字段添加新条目,而不是在更新。
'email' => 'unique:users,email_address,'.$user->id

从验证中删除unique,并检查它是否正在添加新条目或更新条目。如果正在添加新条目,则应重试查询。但是,如果您可以在此处共享您的更新方法,这将很有帮助。

尝试从更新方法的验证中删除unique:users,电子邮件。@MuhammadTashfeen这不是正确的方法,如果您这样做,用户可能会意外地选择一个已使用的电子邮件地址@你说得对。我的错。我实际上正在添加员工和自动添加用户,所以我现在尝试将验证添加到员工请求中,同时找到一个解决方案,可以在更新过程中忽略电子邮件on@LAKHDARMohamed你能(在你原来的问题中)详细说明一下吗你要做的就是提供一个准确的解决方案,谢谢,这就是我要做的