diff --git a/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php b/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php index df8a2667d6489f5f6ae7e0bcfc095190fc090e21..edb05fcb18182fc1b9563a4d6a337abc6e9f01a0 100755 --- a/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php +++ b/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php @@ -14,6 +14,11 @@ namespace TYPO3\CMS\Form\Domain\Validator; * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Core\Utility\GeneralUtility; + +/** + * Class EmailValidator + */ class EmailValidator extends AbstractValidator { /** @@ -32,7 +37,11 @@ class EmailValidator extends AbstractValidator */ public function isValid($value) { - if (!\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($value)) { + if (empty($value) || !is_string($value)) { + return; + } + + if (!GeneralUtility::validEmail($value)) { $this->addError( $this->renderMessage( $this->options['errorMessage'][0], diff --git a/typo3/sysext/form/Tests/Unit/Validator/EmailValidatorTest.php b/typo3/sysext/form/Tests/Unit/Validator/EmailValidatorTest.php index cab00fea40cd862d324fb6aa1a722e506eede373..f9ed70babf3b15314fd3b2d4e79657c93ed91e56 100644 --- a/typo3/sysext/form/Tests/Unit/Validator/EmailValidatorTest.php +++ b/typo3/sysext/form/Tests/Unit/Validator/EmailValidatorTest.php @@ -31,7 +31,9 @@ class EmailValidatorTest extends AbstractValidatorTest { return array( 'a@b.de' => array('a@b.de'), - 'somebody@mymac.local' => array('somebody@mymac.local') + 'somebody@mymac.local' => array('somebody@mymac.local'), + 'empty value' => array(''), + 'unexpected value' => array(array()), ); }