【问题标题】:Laravel 5.4 - exists validation but not requiredLaravel 5.4 - 存在验证但不是必需的
【发布时间】:2017-10-13 13:29:57
【问题描述】:

我的表单中有一个“数组类型”下拉字段,例如:

<select name="category_id[]">
    <option value="">Please Select</option>
    // more options
</select>

这些相同的字段有 3 个(因此它是一个数组类型),它们都是可选的,但是如果选择了一个值,它会检查它是否是一个有效值,如下所示:

$rules['category_id'] = 'exists:universities,id';

我遇到的问题是,如果选择了空选项,它仍然会给我一个验证错误,例如“所选类别无效”。如果我选择一个有效值,我不会收到任何错误(如预期的那样)。

我尝试将nullablesometimes 添加到验证规则中,但它们没有任何区别。作为数组类型字段,我需要做一些不同的事情吗?

【问题讨论】:

    标签: laravel laravel-5 laravel-5.4 laravel-validation


    【解决方案1】:

    如果您为您的选择使用“类似数组”的名称,您应该像这样使用数组验证:

    $rules['category_id.*'] = ['nullable', 'exists:universities,id'];
    

    但是如果不是多选的话,可以把名字改成category_id就可以了

    【讨论】:

    • 谢谢,太好了。
    【解决方案2】:

    你可以试试&lt;option value="" selected disabled&gt;Please select&lt;/option&gt;。另外,当没有选择时,转储$request-&gt;category_id 会给您带来什么?

    【讨论】:

      猜你喜欢
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 2021-04-25
      • 2011-06-25
      • 2017-08-13
      • 2018-04-01
      • 2017-11-16
      相关资源
      最近更新 更多