dongpai6567 2017-01-04 02:42
浏览 154
已采纳

如何使用Laravel验证复选框?

I am trying to validate a form in Laravel 5.3. The form has checkboxes. I need at least one checkbox to be selected for the form to be vald. This is my form

Here is my form

<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>

I am using FormRequest object. Here is my rules() method

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

However, the validation fails unless I select every checkbox!

How can I correctly ensure that the validation only fails if no checkboxes is selected?

  • 写回答

1条回答 默认 最新

  • douren8379 2017-01-04 06:26
    关注

    Your rules() looks correct so no require change for it. Try below:

    <div class="form-group {{ $errors->has('gender') ? 'has-error' : ''}}">
      <div class="col-md-2"></div>
      <div class="col-md-10">
        <label for="gender_0" class="checkbox-inline">
          {!! Form::checkbox('gender[]', 0, null, ['id' => 'gender_0']) !!}
          {{ 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>
    

    Hope this could help you!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存