2016-11-06 3 views
1

Я проверяю флажок здесь, когда пользователь должен выбрать только один.Проверка правильности флажка Laravel (O или 1)

<label class="col-md-3 control-label" for="checkboxes">Can Resume </label> 
    <div class="col-md-4"> 
     <label class="checkbox-inline" for="checkboxes-0"> 
     <input type="checkbox" name="canRes[]" id="checkboxes-0" value="1"> 
        Yes 
     </label> 
     <label class="checkbox-inline" for="checkboxes-1"> 
     <input type="checkbox" name="cannotRes[]" id="checkboxes-1" value="0"> 
        No 
     </label> 
    </div> 

А на стороне сервера в методе контроллера я проверяющий:

$validator = Validator::make(Input::get(), 
[ 
    'canRes' => 'required', 
    'cannotRes' => 'required' 

]); 

Проверка не удается, потому что один проверяется, а другой required я хочу один, чтобы проверить. Либо cannotRes, либо canRes.

Как я могу это достичь?

ответ

1

Вы можете принять использование метода проверки required_without_all

$validator = Validator::make(Input::get(), 
[ 
    'canRes' => 'required_without_all:cannotResume', 
    'cannotRes' => 'required_without_all:canResume' 

]); 

Надеется, что это помогает вам.

+0

Великий ответ ..... –

0

Для вашего сценария вам необходимо использовать одно и то же имя для checkbox. Вы можете попробовать это:

<label class="col-md-3 control-label" for="checkboxes">Can Resume </label> 
    <div class="col-md-4"> 
     <label class="checkbox-inline" for="checkboxes-0"> 
     <input type="checkbox" name="canRes" id="checkboxes-0" value="1"> 
        Yes 
     </label> 
     <label class="checkbox-inline" for="checkboxes-1"> 
     <input type="checkbox" name="canRes" id="checkboxes-1" value="0"> 
        No 
     </label> 
    </div> 

В функции проверки вы должны использовать это правило:

$validator = Validator::make($request->all(), 
[ 
    'canRes' => 'required',  
]); 
+0

Великий ответ ..... –