2017-01-04 4 views
0

Я пытаюсь проверить форму в Laravel 5.3. У формы есть флажки. Мне нужен хотя бы один флажок, чтобы форма была vald. Это моя формаКак проверить флажки с Laravel?

Вот моя форма

<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

Если 'gender' должен быть множественным выбором, имя тега' input' должно быть 'gender []'. Однако, поскольку вы указали только «Мужчина и женщина», вы имели в виду вместо этого использовать «радио»? – tyteen4a03

+0

http://stackoverflow.com/questions/23880126/laravel-4-validate-checkbox-at-least-one – Borna

+0

@ tyteen4a03, пожалуйста, игнорируйте язык. Я просто хочу иметь действительные флажки. Я просто пытаюсь выяснить правильный способ проверить это. – Jaylen

ответ

0

Ваш 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> 

Надеюсь, это может вам помочь!

Смежные вопросы