6

我的 laravel 有问题 我无法发布数据

一个错误说

InvalidArgumentException in Validator.php line 2593:
Validation rule unique requires at least 1 parameters.

这是我的代码

public function postUbah(Request $request, $id)

    $validator  = Validator::make($request->all(), [
            'username'  => 'required|unique:user|min:5',
            'name'      => 'required',
            'group'     => 'required'
        ]);
}

谢谢您的帮助。

这是我的模型

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

    use Authenticatable, CanResetPassword;


    protected $table = 'user';


    protected $fillable = ['username', 'password'];


    protected $hidden = ['password', 'remember_token'];
4

3 回答 3

10

您忘记在验证规则中添加参数以指定在验证规则中应该是唯一的数据库表列。你可以这样做,

 $validator  = Validator::make($request->all(), [
        'username'  => 'required|unique:user,name|min:5',
        'name'      => 'required',
        'group'     => 'required'
    ]);
于 2018-01-31T03:24:40.510 回答
7

你为什么不这样使用

L5.5

public function postUbah(Request $request, $id)

    $validator  = $request->validate([
            'username'  => 'required|unique:user|min:5',
            'name'      => 'required',
            'group'     => 'required'
        ]);
}

L5.4

public function postUbah(Request $request, $id)
    $validator  = $this->validate($request, [
            'username'  => 'required|unique:user|min:5',
            'name'      => 'required',
            'group'     => 'required'
        ]);
}

我知道你的表名是user..确保你的用户模型有

class User {
    protected $table = "user";
}
于 2018-01-31T05:17:15.973 回答
0

使用“唯一:用户”而不是“唯一:用户”。这适用于某些情况。

于 2021-10-02T19:40:13.737 回答