You are browsing the documentation for Symfony 2.5 which is not maintained anymore.
Consider upgrading your projects to Symfony 5.2.
Email¶
Validates that a value is a valid email address. The underlying value is cast to a string before being validated.
Applies to | property or method |
Options | |
Class | Symfony\Component\Validator\Constraints\Email |
Validator | Symfony\Component\Validator\Constraints\EmailValidator |
Basic Usage¶
- YAML
1 2 3 4 5 6 7
# src/Acme/BlogBundle/Resources/config/validation.yml Acme\BlogBundle\Entity\Author: properties: email: - Email: message: The email "{{ value }}" is not a valid email. checkMX: true
- Annotations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// src/Acme/BlogBundle/Entity/Author.php namespace Acme\BlogBundle\Entity; use Symfony\Component\Validator\Constraints as Assert; class Author { /** * @Assert\Email( * message = "The email '{{ value }}' is not a valid email.", * checkMX = true * ) */ protected $email; }
- XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<!-- src/Acme/BlogBundle/Resources/config/validation.xml --> <?xml version="1.0" encoding="UTF-8" ?> <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd"> <class name="Acme\BlogBundle\Entity\Author"> <property name="email"> <constraint name="Email"> <option name="message">The email "{{ value }}" is not a valid email.</option> <option name="checkMX">true</option> </constraint> </property> </class> </constraint-mapping>
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// src/Acme/BlogBundle/Entity/Author.php namespace Acme\BlogBundle\Entity; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Constraints as Assert; class Author { public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new Assert\Email(array( 'message' => 'The email "{{ value }}" is not a valid email.', 'checkMX' => true, ))); } }
Options¶
New in version 2.5: The strict
option was introduced in Symfony 2.5.
strict¶
type: boolean
default: false
When false, the email will be validated against a simple regular expression. If true, then the egulias/email-validator library is required to perform an RFC compliant validation.
message¶
type: string
default: This value is not a valid email address.
This message is shown if the underlying data is not a valid email address.
checkMX¶
type: Boolean
default: false
If true, then the checkdnsrr
PHP function will be used to
check the validity of the MX record of the host of the given email.
checkHost¶
type: Boolean
default: false
If true, then the checkdnsrr
PHP function will be used to
check the validity of the MX or the A or the AAAA record of the host
of the given email.
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.