验证数组中的唯一值

时间:2017-05-20 22:32:51

标签: laravel laravel-5.4

我有一个{{ Form::textarea('name') }}用于添加数组。

在我使用的控制器中:

$input = $request->all();
$name = explode(PHP_EOL, $input['name']);

$this->validate($request, [
    'name' => Rule::unique('table1')->where(function ($query) {
        global $name;
        $query->whereIn('name', $name);
    })
]);

但它不起作用。如何验证数组的唯一值?

抱歉我的英文。

1 个答案:

答案 0 :(得分:1)

简单的方法。如果您希望通过validate方法更好地控制和使用此功能,那么我建议您创建自定义验证规则。

$data = [
    'name' => explode(PHP_EOL, $request->input('name'))
];

$validator = \Validator::make($data, [
    'name.*' => 'unique:table1,name',
]);

if ($validator->fails()) {
    // Handle failed logic
}