我有一个'数组类型'我的表单中的下拉字段,例如:
<select name="category_id[]">
<option value="">Please Select</option>
// more options
</select>
这些字段中有3个(因此它是一个数组类型)并且它们都是可选的,但是如果选择了一个值,它会检查它是否是有效值,如下所示:
$rules['category_id'] = 'exists:universities,id';
我遇到的问题是,如果选择了空选项,它仍然会给我一个验证错误,例如&#34;所选类别无效。&#34;如果我选择有效值,则不会出现任何错误(如预期的那样)。
我尝试将nullable
和sometimes
添加到验证规则中,但它们没有任何区别。作为数组类型字段,我是否需要做一些不同的事情?
答案 0 :(得分:1)
如果您对select使用“类似数组”的名称,则应使用如下所示的数组验证:
$rules['category_id.*'] = ['nullable', 'exists:universities,id'];
但如果不是多选,您可以将名称更改为category_id
以使其正常工作
答案 1 :(得分:0)
你能试试<option value="" selected disabled>Please select</option>
吗?当没有选择时,转储$request->category_id
会给你什么?