【问题标题】:How to validate checkboxes with Laravel?如何使用 Laravel 验证复选框?
【发布时间】:2017-05-18 05:56:29
【问题描述】:

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

这是我的表格

<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'
    ];
}

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

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

【问题讨论】:

  • 如果gender 应该是多项选择,那么input 标签的名称应该是gender[]。但是,由于您只指定男性和女性,您的意思是使用 radio 输入代替吗?
  • @tyteen4a03 请忽略该语言。我只想能够有效的复选框。我只是想找出验证这一点的正确方法。

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


【解决方案1】:

您的rules() 看起来正确,因此无需更改。试试下面:

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

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 2020-06-26
    • 2021-08-03
    • 2021-10-05
    • 2016-06-21
    • 2017-03-19
    • 2017-06-10
    • 2016-07-27
    相关资源
    最近更新 更多