【问题标题】:Validating Arrays?验证数组?
【发布时间】:2019-12-26 13:21:07
【问题描述】:

我已经看到如何验证 docs 中的数组。使用类似的东西:

class UsersRequest extends FormRequest
{
    public function rules()
    {
        'users.*.name' => 'required',

    }
}

在我的表单上,我的字段名为:

<input name="users[0][name]">

这实际上是循环出来的,只是在上面的例子中静态添加了它。

我遇到的问题是上面会验证,所以如果字段中没有值,它会出错,并且有一个值,它会通过,不幸的是输入没有错误类,因为我怀疑错误包中的名称与输入中的名称不同。

如何在 laravel 中正确验证/正确命名数组输入?

编辑。

这不是重复的,已在 SO 上尝试过其他答案,但它们不起作用。

【问题讨论】:

  • 如果您转储 $request-&gt;input(),您输入的键名是什么?
  • "users" => array:1 [▼ 0 => array:2 [▼ "name" => "sdfa" "date" => "sadf" ] ]
  • 你能分享你用来验证的代码,而不仅仅是规则吗?
  • 这只是一个表单请求。没有什么可显示的。

标签: laravel laravel-5


【解决方案1】:

我通常这样做。很简单:

<input id="users.0.name" name="users[0][name]">

编辑: 更正是在您需要它们之前不需要设置 Id 属性:

 <input name="users[0][name]">

【讨论】:

  • 在错误包中,名称应该类似于“users.0.name”,但查看起来不友好,您可以使用特定于他们的语言编写自定义消息
  • 这很烦人,因为我的输入会根据他们的名字检查错误
  • @panthro 我已经编写了自定义消息以查看友好消息。但很明显,他们将通过这些模式名称调用,直到您覆盖该模式
猜你喜欢
  • 1970-01-01
  • 2018-12-27
  • 2016-02-13
  • 2020-05-07
  • 2019-02-21
  • 2015-10-24
  • 2018-01-03
  • 2021-09-08
相关资源
最近更新 更多