组序列功能在Symfony2中不起作用

时间:2016-08-01 07:51:57

标签: php validation symfony symfony-2.8

我有Profileemail字段的实体,我试图使用Symfony Validator验证它。我尝试使用GroupSequence功能,因为从计算的角度来看,我的一个约束相当昂贵。

基本上,我想要有效电子邮件地址,域名不应列入黑名单(使用内部域名列表的自定义约束)。我希望仅在电子邮件有效时应用的最后一个约束,因此我使用组序列,但它没有按预期工作。

我正在使用Symfony 2.8.2并且我有以下 validation.yml 文件:

Namespace\Entities\Profile:
    group_sequence:
        - Profile
        - common
        - email.strict
    properties:
        email:
            - Email: { groups: [common, email.strict] }
            - Namespace\ProfileBundle\Validators\Constraints\EmailNotBlacklisted: { groups: [email.strict] }

验证是这样完成的:

$profile = new Profile();
$profile->setEmail('blacklisted.com');
$errors = $this->validator->validate($profile, array('common', 'email.strict'));

鉴于blacklisted.com是无效值,我期望Email约束失败,因此它永远不会达到EmailNotBlacklisted约束。

但是,$errors包含来自两个约束的错误。

在使用group_sequence功能时我做错了什么?

0 个答案:

没有答案