Symfony2验证注册表 - 电子邮件(两个验证器)

时间:2014-10-23 08:25:59

标签: php validation symfony

我有一个带地址实体的简单注册表。

我使用loadValidatorMetadata(...) {...}方法验证每个属性的值。

我想检查电子邮件是否为valide(按字符等等),如果email1等于email2且email1不在bad-index-array中。

设置验证很简单。但是,如何为每种情况定义不同的错误消息?

代码示例:

public $email;

public $email2;

static function loadValidatorMetadata(ClassMetadata $metadata)
{
    ...

    $metadata->addGetterConstraint('email', new Assert\False(array(
        'message' => 'validation.addressFormEmail'
    )));

    ...
}

public function getEmail()
{
    if ($this->email == $this->email2) {
            return false;
    }

    return false;
}

1 个答案:

答案 0 :(得分:0)

Symfony2有一个重复的表单类型,如果不重复该值,您可以设置消息。 然后在您的实体验证中,您可以设置自定义消息以进行电子邮件验证。

http://symfony.com/doc/current/reference/forms/types/repeated.html#validation http://symfony.com/doc/current/reference/constraints/Email.html