Regex для проверки ввода флажка - PullRequest
1 голос
/ 19 ноября 2011

У меня возникли некоторые проблемы с фильтром проверки codeigniter при использовании флажков. Я обычно использовал фильтр numeric для флажков, предполагая, что он будет фильтровать для 0 или 1, но теперь я вижу, что есть несколько случаев, когда это не удается.

Кто-нибудь знает регулярное выражение, которое я могу вставить в preg_match для проверки флажка?

Я хотел бы, чтобы это разрешило логические значения и некоторые другие 1, 0, null, true, false, пусто и т. Д. *

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Флажок возвращает только одно значение.Это значение (как указано в его атрибуте value=) или 'true'.Если флажок не установлен, он не передается в запросе POST.Поэтому для проверки вам нужно проверить только две вещи:

  1. Был ли он вообще выбран в первую очередь?
  2. Соответствует ли его значение тому, что вы ожидаете?

Итак:

if (isset($_POST['checkbox']) && ($_POST['checkbox'] == 'true') { //or whatever value you want

Должно хорошо сработать.Если я не понял ваш вопрос, в этом случае, пожалуйста, прокомментируйте.

1 голос
/ 19 ноября 2011

Флажки либо имеют значение, либо их нет.Если у них есть значение, они проверяются, если нет, то они не проверяются.

Здесь регулярное выражение будет серьезным излишним, вам нужно только проверить, существует ли флажок в представленных данных.

$checkBoxChecked = isset ($_POST['checkbox_name_goes_here']);
...