Laravel 输入数组的验证器

Laravel validator for input arrays

首先也是最重要的:

我正在尝试验证包含输入[文本] 的数组。它们目前被定义为:

<input type='text' name='user[0][name]'/><div>@error('user[0][name]'){{ $message }}@enderror</div>
<input type='text' name='user[1][name]'/><div>@error('user[1][name]'){{ $message }}@enderror</div>

我也尝试了以下 3 种变体:

<input type='text' name='user[][name]'/>
<input type='text' name='name[]'/>
<input type='text' name='name[0]'/>

我的 ExampleControllerstore() 方法中执行此操作:

    $validator = Validator::make($request->all(), [
        'user.*.name' => 'required|string',
    ])->validate();

我也试过使用:

    $validatedData = $request->validate([
        "user.*.name"    => "required|string",
    ]);//*/

我尝试用于匹配的另一个选项是(对于另一种情况):

    'name.*' => 'required|string',
其中

None 设法在输入后的 div 中打印错误消息。

让我看到错误的唯一方法是,如果我对以下两个(每种情况)进行验证:

"user[0][name]"    => "required|string",
"name[0]"          => "required|string",

所以...我做错了什么?

user[0][name] 是命名表单输入元素的正确语法。

但是,要访问错误消息,请使用点表示法:user.0.name

这是一个有效的 playground