Laravel 5.3阵列验证

时间:2016-12-15 00:37:39

标签: php laravel-5.3

我正在制作一个Laravel应用程序,并且有一个用户可以使用javascript添加输入字段的表单。因此,表单具有多个具有相同名称的输入。

e.g。 <input name='date[]' class='form-control' ...

在我的控制器的更新操作中,我可以遍历输入并更新我的数据库而不会出现任何问题。问题是当我尝试添加验证时。

我尝试使用通过Controller ValidatesRequest trait提供的validate方法。

$this->validate($request, ['date.*' => 'required']);

但是我收到了这个错误:

  

helpers.php第519行中的ErrorException   “htmlspecialchars()期望参数1为字符串,数组为”

然后我在这篇文章中遵循了批准的答案:here

所以在我的控制器中我手动创建了一个类似的验证器:

$validator = Validator::make($request->all(), ['date.*' => 'required']);

当我dd($validator->messages());时,我可以看到验证被点击并且消息正在生成,但是当我将这些错误消息发送到我的视图时,这样:

if($validator->fails()) {
    return redirect()->back()
                     ->withErrors($validator)
                     ->withInput();
}

我得到了和以前一样的错误:

helpers.php第519行中的ErrorException htmlspecialchars()期望参数1为字符串,给定数组

我已经阅读了有关验证数组的Laravel文档(一个简短的部分),并尝试使用Google搜索我的问题而不成功。任何帮助将不胜感激。

0 个答案:

没有答案