Validation 卡在laravel验证上

Validation 卡在laravel验证上,validation,laravel,Validation,Laravel,我正在尝试创建我的网站的后端用户界面。具有管理员权限的用户可以登录到管理员部分,然后编辑注册用户的详细信息 我有一个脚本,显示所有注册用户的列表。当管理员单击特定用户的名称时,该用户的详细信息将显示在表单中。表单的输入包含以前存储的值 现在,我想要的是,如果管理员想要更改该用户的电子邮件或用户名,那么新值应该是唯一的。所以我在电子邮件和用户名的验证规则中添加了unique的验证规则 $rules = array( 'name'=>'min:2',

我正在尝试创建我的网站的后端用户界面。具有管理员权限的用户可以登录到管理员部分,然后编辑注册用户的详细信息

我有一个脚本,显示所有注册用户的列表。当管理员单击特定用户的名称时,该用户的详细信息将显示在表单中。表单的输入包含以前存储的值

现在,我想要的是,如果管理员想要更改该用户的电子邮件或用户名,那么新值应该是唯一的。所以我在电子邮件和用户名的验证规则中添加了unique的验证规则

$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时,为什么它仍然显示错误?

单引号变量将不起作用,我的意思是“$variable”不会打印变量值,而是将$解析为字符串。您应该使用“$variable”。看这里变量在单引号下。。这是一个愚蠢的错误php程序员做lol。 编辑这一行

'username'=>'min:5|unique:users,username,$id',

还是这个 电子邮件领域也一样

'username'=>'min:5|unique:users,username,'.$id,
'username'=>'min:5|unique:users,username,'.$id,