所以,好吧我从验证文档中尝试了很多规则,但都给了我同样的错误说
数组到字符串转换
以下是我添加数组的方法:
$this->validate($request,[
'employee' => 'required|in:'.$employee->pluck('id')->toArray(),
],[
'employee.in' => 'employee does not exists',
]);
有关如何实现这一目标的任何提示?
我创建了一个自定义验证器但仍然传递数组似乎不可能
答案 0 :(得分:14)
将数组内嵌为字符串并以逗号连接。
'employee' => 'required|in:'.$employee->implode('id', ', '),
这将使得验证者在进行in
比较时所期望的字符串正确。
答案 1 :(得分:5)
更新:您现在可以使用Rule类,而不是按照正确答案中的描述自行插入值。只需:
['someProperty' => ['required', Rule::in(['needed', 'stuff'])]];
正如验证阵列中提到的那样。文档中的部分:https://laravel.com/docs/5.6/validation#validating-arrays