Laravel 4, как проверить, установлен ли флажок?


Я пытаюсь проверить, установлен ли флажок в моем контроллере или нет. Я читал, что это код для этого

if (Input::get('attending_lan', true))

Но это возвращает значение true, даже если флажок снят.

Author: Brennan Hoeting, 2013-11-24

4 answers

Предполагая, что у вас есть этот код формы в вашем представлении:

// view.blade.php
{{ Form::open() }}
    {{ Form::checkbox('attending_lan', 'yes') }}
    {{ Form::submit('Send') }}
{{ Form::close() }}

Вы можете получить значение флажка следующим образом:

if (Input::get('attending_lan') === 'yes') {
    // checked
} else {
    // unchecked
}

Ключ здесь в том, что вам нужно установить значение при создании флажка в вашем представлении (в примере значение будет yes), а затем проверить это значение в вашем контроллере.

 15
Author: Manuel Pedrera, 2013-11-23 22:49:43

Использовать Input::has('attending_lan')

Вообще говоря, если флажок установлен, переменная запроса будет существовать. Если это не так, у вас проблема где-то в другом месте кода.

Также релевантно: публикует данные только в том случае, если он отмечен?

 27
Author: cen, 2017-05-23 12:34:42
if(filter_var(Input::get('attending_lan'), FILTER_VALIDATE_BOOLEAN)){

Фильтр FILTER_VALIDATE_BOOLEAN проверяет значение как логический параметр.

Возможные возвращаемые значения:

  • Возвращает значение TRUE для "1", "true", "включено" и "да", и версий в верхнем регистре.
  • Возвращает значение FALSE для "0", "ложь", "выключено" и "нет", и версий в верхнем регистре.
  • В противном случае возвращает значение NULL.

Источник: http://www.w3schools.com/php/filter_validate_boolean.asp

 -1
Author: malhal, 2014-11-09 15:37:55

Альтернативой является проверка ключа массива, чтобы увидеть, существует ли он, учитывая, что, если он не проверен, Input::get('ключ') может вызвать проблемы, учитывая его неопределенный индекс во входном массиве.

$input = Input::all();
if(array_key_exists($input('key',$input)){
// Checked
}else{
// Not Checked
}

Или.. что-то в этом роде. Я немного неаккуратен, но надеюсь, что это может кому-то помочь.

 -2
Author: FerBorVa, 2014-06-19 00:42:27