如何验证在 Laravel 中更新它的用户的唯一电子邮件?

新手上路,请多包涵

我正在使用 Laravel 5.2 并想使用验证器更新用户的帐户。

我想保持电子邮件字段的唯一性,但是,如果用户键入他当前的电子邮件,它将中断。如果电子邮件是唯一的,我该如何更新,除了用户自己的当前电子邮件?

原文由 Luiz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 487
2 个回答

你可以告诉验证者:

 'email' => 'unique:users,email_address,'.$user->id

检查 文档,在“强制使用唯一规则忽略给定 ID”部分。

原文由 Antonio Carlos Ribeiro 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 laravel 9 中,您可以在请求文件中执行以下操作:

  public function rules()
    {
        return [
            Rule::unique('users')->ignore($this->id)
        ];
    }

检查 Laravel 文档以获取唯一验证: https ://laravel.com/docs/9.x/validation#rule-unique

原文由 Pouyans 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题