Форма проверки электронной почты работает не на 100% - PullRequest
0 голосов
/ 06 октября 2018

Я хочу проверить поле ввода с адресом электронной почты.

Если я использую

$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');

Если я введу те же примеры в поле для проверки правильности, результат будет ...

"test" = не удалось

"test @" = не удалось

"test @ test" = не удалось

В этом примере у меня есть значениекоторый не является правильным синтаксисом электронной почты, но валидация принимает его.Электронная почта для проверки @ test не работает.

Что мне нужно сделать, чтобы проверка кода codeigniter проверила правильность синтаксиса электронной почты?

большое спасибо за поддержку.

1 Ответ

0 голосов
/ 06 октября 2018

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

function validateEmail($email) {
    if (preg_match("/^[_a-z0-9-+]+(\.[_a-z0-9-+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $email)) {
    return true;  
    }
    return false;
}

Добавьте функцию обратного вызова в ваши правила проверки

$this->form_validation->set_rules('email', 'Email', 'required|is_unique[users.email]|callback_validateEmail');

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

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