Используя библиотеку проверки формы Codeigniter, как я могу убедиться, что введена хотя бы одна буква? - PullRequest
0 голосов
/ 09 февраля 2012

Я использую проверку формы Codeigniter.В моей регистрационной форме поле Username позволяет использовать только такие цифры, как 123456 .Я не хочу, чтобы это произошло.

Мое правило проверки таково:

'rules'=>'trim|required|alpha_numeric|min_length[6]|xss_clean'

Я хочу запретить пользователям вводить только числовые строки.Буквенно-цифровые строки в порядке, буквенно-цифровые строки в порядке, но чисто числовые - нет.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Чтобы разрешить только буквы

Добавьте alpha к своим правилам и удалите alpha_numeric из своих правил

Вы можете использовать эту страницу в качестве ориентирадля встроенных правил проверки.

Редактировать:

Так как вы уже разъяснили.

Для этого нет встроенного правила проверки.Вам нужно будет расширить библиотеку Form_validation, создав файл libraries/MY_Form_validation.php.См. эту страницу руководства о том, как расширять библиотеки.

В этом файле создайте следующую функцию

function at_least_one_letter($string) {
    return preg_match('#[a-zA-Z]#', $string);
}

Затем вы можете добавить правило проверки at_least_one_letter втвои правила.

1 голос
/ 09 февраля 2012

Согласно codeigniter руководство пользователя :

Вы также можете использовать любые встроенные функции PHP, которые разрешают один параметр.

Я думаю, что вэтот случай is_int может быть использован в качестве правила проверки.

Так, например:

'rules'=>'trim|required|is_int|min_length[6]|xss_clean',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...