电子邮件
验证一个值是否为有效的电子邮件地址。底层值在验证前会被转换为字符串。
适用于 | 属性或方法 |
类 | 电子邮件 |
验证器 | EmailValidator |
基本用法
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Email(
message: 'The email {{ value }} is not a valid email.',
)]
protected string $email;
}
注意
与其他大多数约束一样,null
和空字符串被认为是有效值。这是为了允许它们成为可选值。如果该值是强制性的,一个常见的解决方案是将此约束与 NotBlank 结合使用。
选项
message
类型: string
默认值: This value is not a valid email address.
如果底层数据不是有效的电子邮件地址,则显示此消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ value }} |
当前(无效)值 |
{{ label }} |
相应的表单字段标签 |
mode
类型: string
默认值: html5
此选项定义了用于验证电子邮件地址的模式。有效值包括
html5
使用 HTML5 电子邮件输入元素的正则表达式,但强制要求存在顶级域名 (tld)。html5-allow-no-tld
使用与 HTML5 电子邮件输入元素完全相同的正则表达式,使后端验证与浏览器提供的验证保持一致。strict
根据 RFC 5322 使用 egulias/email-validator 库验证地址(当使用 Symfony Mailer 时已安装;否则,您必须单独安装它)。
提示
此选项的可能值也被定义为 Email 的 PHP 常量(例如 Email::VALIDATION_MODE_STRICT
)。
此选项使用的默认值在 framework.validation.email_validation_mode 配置选项中设置。
normalizer
类型: PHP 可调用对象 默认值: null
此选项允许定义在检查给定值是否有效之前应用于该值的 PHP 可调用对象。
例如,您可能希望传递 'trim'
字符串以应用 trim PHP 函数,以便在验证期间忽略前导和尾随空格。
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可证获得许可。