我有一个{{ 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);
})
]);
但它不起作用。如何验证数组的唯一值?
抱歉我的英文。
答案 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
}