如何使用Laravel验证复选框?

时间:2017-01-04 02:42:26

标签: php laravel validation laravel-5 laravel-validation

我正在尝试验证Laravel 5.3中的表单。表单有复选框。我需要至少选择一个复选框才能使表单成为vald。这是我的表格

这是我的表格

<div class="form-group {{ $errors->has('gender') ? 'has-error' : ''}}">
    <div class="col-md-2"></div>
    <div class="col-md-10">
        <label for="gender_" class="checkbox-inline">
            {!! Form::checkbox('gender', '', null, ['id' => 'gender_']) !!}
            {{ trans('blogs.gender_') }}
        </label>

        <label for="gender_1" class="checkbox-inline">
            {!! Form::checkbox('gender', '1', null, ['id' => 'gender_1']) !!}
            {{ trans('blogs.gender_1') }}
        </label>

        <label for="gender_2" class="checkbox-inline">
            {!! Form::checkbox('gender', '2', null, ['id' => 'gender_2']) !!}
            Female
        </label>

        {!! $errors->first('gender', '<p class="help-block">:message</p>') !!}
    </div>
</div>

<div class="form-group {{ $errors->has('name') ? 'has-error' : ''}}">
    {!! Form::label('name',trans('blogs.name'),['class' => 'col-md-2 control-label']) !!}
    <div class="col-md-10">
        {!! Form::text('name',null, ['class' => 'form-control']) !!}
        {!! $errors->first('name', '<p class="help-block">:message</p>') !!}
    </div>
</div>

我正在使用FormRequest个对象。这是我的rules()方法

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'gender' => 'required'
    ];
}

但是,除非我选中每个复选框,否则验证将失败!

如果没有选中复选框,我怎样才能正确确保验证失败?

1 个答案:

答案 0 :(得分:0)

您的print (x.apply(lambda a: list(filter(lambda v: v==v, a)))) 0 [1, 2, 3] 1 [2] 2 [3, 4, 5] 3 [] dtype: object 看起来是正确的,因此无需更改。请尝试以下:

print (x.apply(lambda y: list(filter(np.isfinite, y))))
0    [1, 2, 3]
1          [2]
2    [3, 4, 5]
3           []
dtype: object

希望这可以帮到你!