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а через опрос домена.
Затем он вызывается при обычном таком случае, вызове валидатора: