Php Laravel验证-如何检查给定数组中是否存在值?
所以,好吧,我从验证文档中尝试了很多规则,但都给出了相同的错误 数组到字符串的转换 下面是我添加阵列的方式:Php Laravel验证-如何检查给定数组中是否存在值?,php,arrays,validation,laravel,laravel-5.2,Php,Arrays,Validation,Laravel,Laravel 5.2,所以,好吧,我从验证文档中尝试了很多规则,但都给出了相同的错误 数组到字符串的转换 下面是我添加阵列的方式: $this->validate($request,[ 'employee' => 'required|in:'.$employee->pluck('id')->toArray(), ],[ 'employee.in' => 'employee does not exist
$this->validate($request,[
'employee' => 'required|in:'.$employee->pluck('id')->toArray(),
],[
'employee.in' => 'employee does not exists',
]);
有没有关于如何实现这一点的提示
我创建了一个自定义验证器,但仍然传递数组似乎是不可能的将数组内爆为字符串并用逗号连接
'employee' => 'required|in:'.$employee->implode('id', ', '),
这将生成验证程序在比较中进行时所需的正确逗号分隔字符串
编辑
这仍然有效,但不再是一种滑稽的方式。请参见@nielsiano的答案。更新:您现在可以使用规则类,而不是按照正确答案中的说明自行内爆值。简单地做:
['someProperty' => ['required', Rule::in(['needed', 'stuff'])]];
正如文档中“验证阵列”一节所述:这是针对laravel 5的是的,我在标签中也提到了这是一种更干净的方法。这里是它在laravel 8中的文档。