我试图创建我的网站后端用户界面。拥有管理员权限的用户可以登录管理员部分,然后编辑注册用户的详细信息。滞留laravel验证
我有一个脚本,显示所有注册用户的列表。当管理员点击特定用户的名称时,该用户的详细信息将显示在表单中。表单的输入包含以前存储的值。
现在,我想要的是,如果管理员想要更改该用户的电子邮件或用户名,新值应该是唯一的。所以我在电子邮件和用户名的验证规则中添加了唯一验证规则。现在
$rules = array(
'name'=>'min:2',
'email'=>'email|unique:users',
'username'=>'min:5|unique:users',
'password'=>'min:5',
'cpassword'=>'required_with:password|same:password'
);
如果管理员想改变名称,然后窗体不会进程前进,因为这是我写的规则给出了一个错误的用户名和电子邮件应该是唯一的。
然后,我在窗体中创建了一个隐藏字段(名为id),其中包含该特定用户的ID。我通过回显$id = Input::get('id')
来检查ID的值,并显示该特定用户的ID。
我试图在规则中使用这个ID:
$rules = array(
'name'=>'min:2',
'email'=>'email|unique:users,email,$id',
'username'=>'min:5|unique:users,username,$id',
'password'=>'min:5',
'cpassword'=>'required_with:password|same:password'
);
而我依然得到表单提交的错误,电子邮件和用户名应该是唯一的。为什么当我已经提到要在检查唯一性时忽略用户的ID,它仍然显示错误?