По вашей ошибке, единственная проблема, которую я вижу, - это пробел 'yahoo.gr' , который может / может вызвать сбой проверки.
Исправить предложение 1:
Вы должны начать использовать trim () для значения GET / POST "email".
Исправить предложение 2:
Кстати, в документации :
Проверка только локальной части
Если вам требуется Zend \ Validator \ EmailAddress для проверки только локальной части адреса электронной почты и вы хотите отключить проверку имени хоста, вы можете установить для параметра домена значение FALSE. Это заставляет Zend \ Validator \ EmailAddress не проверять часть имени узла адреса электронной почты.
$validator = new Zend\Validator\EmailAddress();
$validator->setOptions(array('domain' => FALSE));
Исправить предложение 3:
Кстати, в документации :
Проверка различных типов имен хостов
Часть имени узла электронного адреса проверяется на соответствие Zend \ Validator \ Hostname. По умолчанию принимаются только DNS-имена хостов в форме domain.com, хотя при желании вы можете принимать IP-адреса и локальные имена хостов.
Для этого вам нужно создать экземпляр Zend \ Validator \ EmailAddress, передав параметр, указывающий тип имен хостов, которые вы хотите принять. Более подробная информация включена в Zend \ Validator \ Hostname, хотя пример того, как принимать DNS и локальные имена хостов, приведен ниже:
$validator = new Zend\Validator\EmailAddress(
Zend\Validator\Hostname::ALLOW_DNS |
Zend\Validator\Hostname::ALLOW_LOCAL);
if ($validator->isValid($email)) {
// email appears to be valid
} else {
// email is invalid; print the reasons
foreach ($validator->getMessages() as $message) {
echo "$message\n";
}
}
Ну, больше никаких предложений. Я желаю вам удачи!
Конец.