Laravel 4 验证电子邮件唯一约束
Laravel 4 validation email unique constraint
我正在编写一个 Laravel 4 应用程序,其中有一个 users
table 和常用的联系信息。在我的 users
模型中,我对电子邮件的验证指定 'email'=>'required|email|unique:users',
这在注册新用户时工作正常。
我的问题是如何处理用户编辑表单——当表单被提交时,我希望只有当它与旧电子邮件不同时才触发唯一电子邮件约束——否则你可以'保存您的个人资料,因为电子邮件(您的电子邮件)已被使用。
谢谢
唯一验证语法
unique:table,column,except,idColumn
尝试排除当前电子邮件
unique:'users', 'email', Auth::user()->email
唯一规则的第三个参数允许您指定要忽略的记录的 ID。当您编辑用户时,您希望您的唯一验证规则忽略您正在编辑的用户的 ID 中包含的值。
'email'=>'required|email|unique:users,email,'.$userId
您可以查看有关验证规则的文档 here。
您将 运行 遇到的最棘手的部分是弄清楚如何编辑您的规则以提供您正在编辑的用户的 ID。这完全取决于您如何设置规则以及您在哪里进行验证。
我正在编写一个 Laravel 4 应用程序,其中有一个 users
table 和常用的联系信息。在我的 users
模型中,我对电子邮件的验证指定 'email'=>'required|email|unique:users',
这在注册新用户时工作正常。
我的问题是如何处理用户编辑表单——当表单被提交时,我希望只有当它与旧电子邮件不同时才触发唯一电子邮件约束——否则你可以'保存您的个人资料,因为电子邮件(您的电子邮件)已被使用。
谢谢
唯一验证语法
unique:table,column,except,idColumn
尝试排除当前电子邮件
unique:'users', 'email', Auth::user()->email
唯一规则的第三个参数允许您指定要忽略的记录的 ID。当您编辑用户时,您希望您的唯一验证规则忽略您正在编辑的用户的 ID 中包含的值。
'email'=>'required|email|unique:users,email,'.$userId
您可以查看有关验证规则的文档 here。
您将 运行 遇到的最棘手的部分是弄清楚如何编辑您的规则以提供您正在编辑的用户的 ID。这完全取决于您如何设置规则以及您在哪里进行验证。