Codeigniter min_length [] не работает - PullRequest
2 голосов
/ 02 июня 2011

У меня есть этот код:

$this->form_validation->set_rules('quadra_numero', 'Quadra número', 'required|trim|numeric|xss_clean|min_length[3]|max_length[3]|callback_valida_quadra_setor');

max_length[3] работает, но не min_length[3].

Я проверил возвращаемое значение с помощью strlen($quadra_numero), и оно возвращает мне 2 символа, но проверка, кажется, игнорирует его.

В моей форме у меня есть номер 091, в моей базе данных это VARCHAR для хранения 0, которое необходимо.

Если я отправлю 0912, он вернет ошибку для max_length, но если я изменю ее на 91, проверка пройдет успешно.

Если я отправлю 09, он будет работать, только с удаленным 0 (ноль) он не будет работать.

Есть идеи?

Заранее спасибо за любую помощь.

- EDIT Я попытался использовать точную длину [8] и получил те же результаты. Проблема с 0 (ноль).

1 Ответ

2 голосов
/ 02 июня 2011

На первый взгляд, вам, вероятно, нужно ввести переменную в строку перед ее отправкой.

$quadra_numero = (string)$quadra_numero; 

или

$quadra_numero = strval($quadra_numero);

и посмотри, решит ли это проблему. Strlen преобразует переменную в строку перед проверкой длины, но проверка, вероятно, не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...