我正在向我的控制器提交一组输入,如下所示:
<input id="box-1-nickname" name="box-nickname[]" class="form-control" type="text" placeholder="Required">
<input id="box-2-nickname" name="box-nickname[]" class="form-control" type="text" placeholder="Required">
我正在做一些这样的验证:
$validator = Validator::make(Input::all(), array(
'supplies-count' => 'required|in:0,1,2,3,4',
));
$arrayValidator = Validator::make(Input::all(), []);
$arrayValidator->each('box-nickname', ['required|min:1|max:60']);
if( $validator->fails() || $arrayValidator->fails() ) {
return Redirect::route('route-2')
->withErrors($arrayValidator)
->withInput();
}
问题是当我尝试检查这样的错误时它不起作用:
if( $errors->has('box-1-nickname') ) { echo ' has-error'; }
在视图中显示输入数组错误(L5.8 及以上)
要获取输入数组的第一个验证错误:
{{ $errors->first('input_array.*') }}
检查输入数组中是否存在错误:
@if($errors->has('input_array.*'))
<h1>There is an error in your input array</h1>
<ul>
@foreach($errors->get('input_array.*') as $errors)
@foreach($errors as $error)
<li>{{ $error }}</li>
@endforeach
@endforeach
</ul>
@endif
其他例子:
@error('input_array.*')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
从 5.8^ 文档开始
处理错误消息
如果您正在验证数组表单字段,则可以使用 * 字符检索每个数组元素的所有消息:
foreach ($errors->get('attachments.*') as $message) {
//
}
希望能帮助到你!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)