Php Laravel 5.1独特的电子邮件
根据文档,我试图在代码中使用以下规则,但它不起作用:Php Laravel 5.1独特的电子邮件,php,laravel,laravel-5,Php,Laravel,Laravel 5,根据文档,我试图在代码中使用以下规则,但它不起作用: /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'first_name' => 'required', 'last_name' => 'required', '
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|unique:users,email,:email',
];
}
邮件已被接收。
我试图说,如果用户的电子邮件不是唯一的,那么抛出一个错误,除了当前的用户id
如何实现这一点?您需要为唯一规则指定一个可忽略的ID。试试这个:
return [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|unique:users,email,' . Auth::user()->id
];
注意:假设您使用的是Laravel的Auth类。谢谢,但它不是当前登录的用户。它是管理员正在编辑的用户。所以我想我可以使用请求而不是身份验证?值得注意的是,它可以被认为是一个安全缺陷,迫使用户拥有唯一的电子邮件地址。这是因为,如果攻击者想知道某个电子邮件地址是否已在系统上注册,只需尝试将其地址更改为目标地址即可发现。借助自动化工具和电子邮件地址数据库(即垃圾邮件列表或从其他网站入侵),攻击者可以非常快速地绘制出用户群的良好轮廓。这可能对你来说是个问题,也可能不是,但可能是一个导致额外攻击你的方法。