Symfony 如何通过不允许没有结束点的电子邮件来验证电子邮件类型

Fra*_*rzi 1 php forms email validation symfony

目前Symfony 的EmailType允许任何电子邮件,例如:

"whatever@domain"

因此没有针对电子邮件域的验证

让它只接受电子邮件的最佳方法是什么:

"whatever@domain.something"

因此该域应至少包含一个点。

由于这应该是一个常见问题,我想知道是否已经有一种内置的方法来完成它。

yce*_*uto 5

使用Email约束来正确验证电子邮件值:

use Symfony\Component\Validator\Constraints as Assert;

class User 
{
    /**
     * @var string
     *
     * @Assert\Email()
     */
    private $email;
}
Run Code Online (Sandbox Code Playgroud)

提交表单时,EmailValidator检查此'/^.+\@\S+\.\S+$/'模式是否有效,如果无效,则抛出违规约束。