1 Отредактировано cutter (27-02-2012 06:46:33)

Тема: Проверка "form_validation" на целое

cutter пишет:

10# [Важно] Проверка поля на целое
в шаблоне

<input type="text" value="" name="num" />

в коде

$this->form_validation->set_rules('num','<b>число</b>','integer');

или

$this->form_validation->set_rules('num','<b>число</b>','numeric');

или

$this->form_validation->set_rules('num','<b>число</b>','is_natural');

и даже

$this->form_validation->set_rules('num','<b>число</b>','is_numeric');

как и

$this->form_validation->set_rules('num','<b>число</b>','is_natural_no_zero');

не помогает приставка "min_length[1]" хоть она и ограничена (не числами) "/[^0-9]/"
ошибка при таком раскладе не обнаруживатся, вопрос почему? 
0_о я в шоке... мне проще вручную перепроверить оказалось, хотя хотел как положено...
да и вообще как проверить на целое я не понял (чтобы пустота не считалась)

предположим я, пологая, что принято число сделаю запрос, в базу
пример полного запроса

sql="SELECT * FROM `users` WHERE `banned`='".$num."'"

выдаст результат совпадающий и с "" и c "0" а это не совсем верно
думаю вышеописанный код должен проверять именно на целое без исключения и дополнительных перепроверок

Thumbs up Thumbs down

2 Отредактировано cutter (27-02-2012 06:58:06)

Re: Проверка "form_validation" на целое

узнал почему не работает
пустые заначения вообще не доходят до проверки - инициализация какой-либо проверки на пустые поля игнорится! neutral

Думаю разработчики быстрее найдут проблемное место, чем я ... т.к. я тут как гость, а им в системе всё известно.

Thumbs up Thumbs down

3

Re: Проверка "form_validation" на целое

пока сделал так, понятно что насилую ... но в моем модуле нужна определенность во входящих данных

foreach ($_POST as $k => $v)
                    {
                    if ($v === '') {$v='0';}
                    $inparam[$k]=$v;
                    }

Thumbs up Thumbs down

4 Отредактировано cutter (27-02-2012 20:15:14)

Re: Проверка "form_validation" на целое

разковырял малость...
как выход использовать

required

но всёравно считаю данный метод не совсем верным, не думаю, что избегая такой проверки можно сильно увеличить производительность, решать разработчикам, но я по крайней мере на эти грабли больше ни ногой  big_smile

Thumbs up Thumbs down