除了用户ID不起作用外,Laravel验证是唯一的

时间:2015-01-25 02:52:24

标签: php laravel

我有一个设置表单,用户可以在其中更新信息。

我的验证码似乎是

    $rules = array(
        'active'    => 'required',
        'email'     => 'email',
        'username'  => "required|alphaNum|unique:users,username,{{$id}}",
        'password'  => 'sometimes|min:3'
    );

$id包含当前用户的用户ID。

但是当The username has already been taken.值是用户的当前用户名时,我不断收到username错误消息。

我也尝试过'username' => "required|alphaNum|unique:users,username,".$id,

这一行

3 个答案:

答案 0 :(得分:0)

要将变量嵌入字符串,您必须使用"双引号:

$rules = array(
    'active'    => 'required',
    'email'     => 'email',
    'username'  => "required|alphaNum|unique:users,username,{{$id}}",
    'password'  => 'sometimes|min:3'
);

答案 1 :(得分:0)

我必须将字符串转换为$ id,所以它是:

'username' => "required|alphaNum|unique:users,username,".(string)$id,

答案 2 :(得分:0)

如果您使用primaryKey作为varchar。重要的是,给定的$ id没有空格(修剪)。这让我花了好几个小时来找到它......