Laravel 输入数组的验证器
Laravel validator for input arrays
首先也是最重要的:
- 我确实阅读了两个条目@ laravel and
我正在尝试验证包含输入[文本] 的数组。它们目前被定义为:
<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]'/>
我的 ExampleController 在 store() 方法中执行此操作:
$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。
首先也是最重要的:
- 我确实阅读了两个条目@ laravel and
我正在尝试验证包含输入[文本] 的数组。它们目前被定义为:
<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]'/>
我的 ExampleController 在 store() 方法中执行此操作:
$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。