Проверка формы кодовывателя.Альфа и пробелы - PullRequest
9 голосов
/ 06 февраля 2012

При использовании проверки формы Codeigniter допускает ли альфа пробелы? Ex. "Боб Смит"

Ответы [ 5 ]

16 голосов
/ 23 ноября 2012

Вот код, который должен решить вашу проблему:

function alpha_dash_space($str)
{
    return ( ! preg_match("/^([-a-z_ ])+$/i", $str)) ? FALSE : TRUE;
} 

В правилах вы можете назвать его следующим образом:

$this->form_validation->set_rules('name', 'Name', trim|xss_clean|callback_alpha_dash_space');

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

Удаленоодин дополнительный _ из callback_alpha_dash_space

6 голосов
/ 07 октября 2016

Я знаю, что опоздал, чтобы ответить на это.Но для тех, кто все еще ищет ответ о том, как просто разрешить использование букв и пробелов, вы можете выполнить следующее:

В проверке формы

$this->form_validation->set_rules('fullname', 'Fullname', 'min_length[7]|trim|required|xss_clean|callback_alpha_dash_space');

Затем добавьте функцию обратного вызова для alpha_dash_space

function alpha_dash_space($fullname){
    if (! preg_match('/^[a-zA-Z\s]+$/', $fullname)) {
        $this->form_validation->set_message('alpha_dash_space', 'The %s field may only contain alpha characters & White spaces');
        return FALSE;
    } else {
        return TRUE;
    }
}
  • ^ и $ Сообщает, что это начало и конец строки
  • a-z - это строчные буквы, A-Z - это прописные буквы
  • \s - это пробел, а + - 1 или более раз.

Надеюсь, это помогло!

5 голосов
/ 06 февраля 2012

Нет, он не допускает пробелов.

Кто-то написал расширение библиотеки, которое допускает это, хотя: http://ellislab.com/forums/viewthread/158696/#794699

1 голос
/ 25 июля 2014

Вы можете использовать

$field = trim($_POST['field']);
$_POST['field'] = str_replace(' ', '', $_POST['field']);

и отметьте его как альфа в правиле, затем вы можете использовать поле $ после успешной проверки.

$this->form_validation->set_rules('field', 'FIELD', 'alpha');
0 голосов
/ 03 июля 2019

Однолинейное решение:

 $this->form_validation->set_rules('field', 'Field', 'regex_match[/^([a-z ])+$/i]');

Альфа-символы и пробел.

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