我有一个使用Laravel的表单,带有两个输入文本:
<div class="col-md-6">
<div class="form-group">
{!! Form::label('price', 'Preço') !!}
<div class="input-group multi-control-group">
<span class="input-group-addon">De</span>
{!! Form::text('price[]', null, ['class' => 'form-control']) !!}
<span class="input-group-addon">Até</span>
{!! Form::text('price[]', null, ['class' => 'form-control']) !!}
</div>
</div>
</div>
这是我的验证功能:
if(!empty($request->year)) {
dd($request->year);
}
但是当提交没有设置值的表单时,数组空传递验证并显示两个位置没有值。
array:2 [▼
0 => ""
1 => ""
]
我想让这个数组在验证中失败。如何进行此验证?
答案 0 :(得分:0)
即使为空,也会提交文本输入。由于您将这些放在数组中,因此它们是空元素,但仍然是阻止数组为空的元素。过滤掉空元素,然后检查:
if(!empty(array_filter($request->year))) {
dd($request->year);
}
请注意,字符串0
也会被过滤掉。如果这是一个问题,那么你需要一个替代方法,例如循环遍历数组并检查""
。