Symfony 2.7 - 电子邮件验证YML不起作用(忽略所有电子邮件行)

时间:2015-08-31 15:20:00

标签: php forms validation symfony email

我正在尝试创建一个symfony表单,如果没有提交电子邮件地址(或格式不正确的电子邮件地址),它将拒绝。 所以这是一个正在发生的事情的例子。

  1. 我在电子邮件输入中没有提交任何文字提交:它失败了,而不是 空白错误(好)
  2. 我提交了' fajncaineanf'它失败了 当它应该与电子邮件错误失败时,并非空白错误(和 它显然不是空白所以这没有意义......)
  3. 我从YML中删除NotBlank验证检查并提交“fajncaineanf'并成功提交表格。这不能证明 - 电子邮件的验证是以某种方式破坏的吗?
  4. 见下面的代码。

    生成器:

    $builder
        ->add('emailAddress', 'email', 
            array(
                'label' => 'Email Address:',
                'data' => $user->getEmailAddress(),
                'required' => true,
                )
            )
    

    YML:

    properties:
        emailAddress:
            - NotBlack: ~
            - Email:
                message: "This email is not valid."
                checkMX: true
    

    非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以直接在Builder中使用约束来尝试它。我喜欢在一个地方而不是在单独的文件中。

use Symfony\Component\Validator\Constraints\Email;

然后你可以在你的Builder中使用它:

$builder
    ->add('email', null, array(
        'required' => false,
        'constraints' => array(
            new Email()
        )
    ));

对我而言,它更容易,我希望能够解决您的问题,并为您提供使用约束的方法。