From 183e49f5a8770ad3db5a61011b2a62d2aa5b2f9a Mon Sep 17 00:00:00 2001 From: Florian Mast <flo.mast@web.de> Date: Fri, 4 Mar 2016 15:53:07 +0100 Subject: [PATCH] [BUGFIX] EXT:form Validation of email Validation of email should respect empty value Resolves: #54534 Releases: master,7.6 Change-Id: I40c865b42fe7960dd7ab85f710df1045cd04adf0 Reviewed-on: https://review.typo3.org/47059 Reviewed-by: Nicole Cordes <typo3@cordes.co> Tested-by: Nicole Cordes <typo3@cordes.co> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Jan Helke <typo3@helke.de> Tested-by: Jan Helke <typo3@helke.de> --- .../form/Classes/Domain/Validator/EmailValidator.php | 11 ++++++++++- .../form/Tests/Unit/Validator/EmailValidatorTest.php | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php b/typo3/sysext/form/Classes/Domain/Validator/EmailValidator.php index df8a2667d648..edb05fcb1818 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 cab00fea40cd..f9ed70babf3b 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()), ); } -- GitLab