Где воздух гор - там тишина снегов, молчание камней и дремлет сила

Программирование Web

CodeIgniter:callback для проверки существования email

2018-03-09 01:27:10






CodeIgnter имеет встроенную проверку правильности ввода emailа пользователем, которую очень удобно применять и использовать. Но эта система формальна, то есть если пользователь ввел email в виде: dgdhd@sfdgdgg.com , то такую абракадабру система пропустит. Для того, чтобы такого не произошло, можно воспользоваться таким кодом, помещаемый в класс контролера, который обрабатывает пользовательский ввод:


private function _validate_domain($email) {

list($mailbox, $domain) = split('@', $email);

if (!(checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A'))) {

$this->form_validation->set_message(__FUNCTION__, "This email address from domain "{$domain}" not found.");

return FALSE;

}
return TRUE;
}


Этот callback при помощи стандартных РНР функции checkdnsrr() производит проверку emailа через опрос домена.
Затем он вызывается при обычном таком случае, вызове валидатора:

$this->form_validation->set_rules('contact_email', 'Contact Email', 'trim|xss_clean','valid_email|strtolower|callback__validate_domain');

Как видите, все очень просто.

Здесь нет комментариев


Новый комментарий:
























Яндекс.Метрика