如何在 laravel 中输入所有数组并在字段下方显示验证错误
Posted
技术标签:
【中文标题】如何在 laravel 中输入所有数组并在字段下方显示验证错误【英文标题】:How to all array inputs in laravel and displaying the validation error below of the fields 【发布时间】:2021-07-17 08:12:16 【问题描述】:我的目标是当我点击提交按钮时,所有字段都将验证并在每个输入字段下方自动显示验证错误,现在当我尝试提交表单而不向字段中添加任何数据时,只有第一个输入字段在输入字段下方显示错误消息,其他字段只有在我提交表单然后单击输入字段后才会显示该消息。
我试图在这里查看解决方案,但不幸的是它对我不起作用。
How to validate array in Laravel? How do I validate an array of integers in Laravel Validate array of inputs in form in Laravel 5.7我有一个看起来像这样的表单
<div class="form-group">
<input type="text" name="ref_name[]">
</div>
<div class="form-group">
<input type="text" name="ref_name[]">
</div
<div class="form-group">
<input type="text" name="ref_name[]">
</div
<div class="form-group">
<input type="text" name="ref_name[]">
</div
<div class="form-group">
<input type="text" name="ref_name[]">
</div>
这是我的请求类的规则/代码
'ref_name' => 'array',
'ref_name.*' => 'required|distinct'
我在我的 laravel 项目中使用这个 https://packagist.org/packages/proengsoft/laravel-jsvalidation 作为我的验证插件。
我正在处理的 laravel 版本项目是 5.2
【问题讨论】:
第一件事是你不能对输入字段使用相同的“名称”属性。 【参考方案1】:获取输入数组的第一个验证错误:
$errors->first('ref_name.*')
检查输入数组是否有错误:
@if($errors->has('ref_name.*'))
<h1>There is an error in your input array</h1>
<ul>
@foreach($errors->get('ref_name.*') as $errors)
@foreach($errors as $error)
<li> $error </li>
@endforeach
@endforeach
</ul>
@endif
其他例子:
@error('ref_name.*')
<div class="alert alert-danger"> $message </div>
@enderror
你也可以得到错误:
echo $errors->first('ref_name.0');
【讨论】:
很抱歉,这些都不适合我,我使用的验证插件是packagist.org/packages/proengsoft/laravel-jsvalidation 表单验证时不需要刷新页面。如果我提交表单,它将自动验证表单并在输入字段下方显示所有错误,而无需刷新页面。 echo $errors->first('ref_name.0');试试这个我希望这对你有帮助@darth-dev-vader以上是关于如何在 laravel 中输入所有数组并在字段下方显示验证错误的主要内容,如果未能解决你的问题,请参考以下文章