public function testValidateCorrectEmailAddresses() { $validator = new EmailAddressValidator(); $validator->Extent = 'regex'; $emailAddresses = array('*****@*****.**', '*****@*****.**'); foreach ($emailAddresses as $value) { $this->assertTrue($validator->validate(new EmailAddressValue($value))); $this->assertSame(array(), $validator->getMessage()); } }
/** * Validates a field based on the validators in the field definition. * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException * * @param \eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition The field definition of the field * @param \eZ\Publish\Core\FieldType\EmailAddress\Value $fieldValue The field value for which an action is performed * * @return \eZ\Publish\SPI\FieldType\ValidationError[] */ public function validate(FieldDefinition $fieldDefinition, SPIValue $fieldValue) { $errors = array(); if ($this->isEmptyValue($fieldValue)) { return $errors; } $validatorConfiguration = $fieldDefinition->getValidatorConfiguration(); $constraints = isset($validatorConfiguration['EmailAddressValidator']) ? $validatorConfiguration['EmailAddressValidator'] : array(); $validator = new EmailAddressValidator(); $validator->initializeWithConstraints($constraints); if (!$validator->validate($fieldValue)) { return $validator->getMessage(); } return array(); }