如何在laravel中显示所有数组输入,并在字段下面显示验证错误



我的目标是,当我点击提交按钮时,所有字段都将进行验证,并在每个输入字段的下面自动显示验证错误,目前,当我尝试在不向字段中添加任何数据的情况下提交表单时,只有第一个输入字段有一条错误消息显示在输入字段的下面,而其他字段则没有,只有在我提交表单并单击输入字段后,消息才会显示。

我试着在这里寻找解决方案,但不幸的是,它对我不起作用。

  • 如何在Laravel中验证数组
  • 如何在Laravel中验证整数数组
  • 验证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'

我在用这个https://packagist.org/packages/proengsoft/laravel-jsvalidation作为我的laravel项目的验证插件。

我正在进行的laravel版本项目是5.2

要获得输入数组的第一个验证错误:

{{ $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');

相关内容

  • 没有找到相关文章

最新更新