-1

我现在有以下复选框,希望在必须选中一个复选框的复选框中进行验证。但我不知道该怎么做。

复选框

<div class="form-group clearfix">
                                <label for="" class="col-sm-2 col-form-label">Arch (es) </label>
                                <div class="col-sm-10">
                                    <label class="control-label" for="inputError" style="color: red"><i
                                            id="arch_upper_error"></i></label>
                                    <div class="demo-checkbox">

                                        <input id="md_checkbox_1" name="arch_upper" value="41" class="chk-col-black"
                                               type="checkbox">
                                        <label for="md_checkbox_1">Upper</label>

                                        <input id="md_checkbox_2" name="arch_lower" value="41" class="chk-col-black"
                                               type="checkbox">
                                        <label for="md_checkbox_2">Lower</label>


                                    </div>
                                </div>
                            </div>

我在 laravel 验证中尝试了这个,但我知道它是错误的,因为两者都需要,但我希望至少选中一个复选框。

 public function rules()
    {
        return [
            'arch_lower' => 'required',
            'agarch_upper' => 'required',
         ,


        ];
    }
4

1 回答 1

0

我认为你可以使用 Laravel 的required-without方法:

仅当任何其他指定字段不存在时,验证中的字段才必须存在且不为空。

实现看起来像这样:

'arch_upper' => 'required_without: arch_lower',

如果你有更多的复选框,你可以使用required-without-all

仅当所有其他指定字段都不存在时,验证中的字段必须存在且不为空。

执行:

'arch_upper' => 'required_without_all: arch_lower,another_checkbox',

注意:代码未经测试,如果遇到任何错误,请告诉我。

你可以阅读更多关于 Laravel 的官方文档

于 2020-03-12T14:07:26.690 回答