Каков наилучший способ передать дополнительные переменные POST в правило проверки в Kohana 3? - PullRequest
0 голосов
/ 25 августа 2010

Я пытаюсь проверить некоторые данные POST.Одной из проверок, которые мне нужно сделать, является регистрационный код, основанный на другой переменной POST - номере IMEI.

В моих данных POST у меня есть 2 поля: register_imei и register_code.Мой код в настоящее время выглядит следующим образом:

$post = Validate::factory($_POST);

$post->rule('register_imei', 'not_empty')
     ->rule('register_imei', 'exact_length', array(15))
     ->rule('register_imei', 'some_class::luhn_check');

$post->rule('register_code', 'not_empty')
     ->rule('register_code', 'some_class::valid_registration_code', array($_POST['register_imei']));

Однако я не уверен, что передача переменной из необработанного поля массива POST допустима, поскольку она может быть пустой или не установлена.Делает ли тот факт, что я уже добавил правила проверки для register_imei выше, безопасным?

1 Ответ

0 голосов
/ 25 августа 2010

Делает ли тот факт, что я уже добавил правила проверки для register_imei выше, безопасным?

Проверка не выполняется, пока вы не вызовете метод check().

Чтобы решить вашу проблему, используйте:

Arr::get($_POST, 'register_imei', NULL);

, который возвращает 3-й аргумент по умолчанию, если ключ не задан в массиве.

...