Symfony 3 group validation


Symfony 3 group validation

它没有像我预期的那样工作。

简单验证.yml

ForumBundle'Entity'User:
properties:
    login:
        - NotIdenticalTo:
            value: ROOT
            message: Some Error
    phone:
        - NotBlank:
            message: Phone must be declared!
            groups: [admin]
    granted_by:
        - NotBlank:
            message: Your promotor must be declared!
            groups: [admin]

我想有两种方法:

如果用户不是管理员,只需验证登录属性(工作正常)

如果用户是管理员,请使用组和登录属性验证所有属性admin

我尝试添加这样的代码:

        $errors = $this
        ->get('validator')
        ->validate($user, null, array('admin'));

但是当用户是管理员时,它只是使用管理员组验证属性(登录字段未验证)。有什么解决方案不添加更多组吗?

确保 login 属性的约束是 Default 组和admin组的一部分:

ForumBundle'Entity'User:
    properties:
        login:
            - NotIdenticalTo:
                value: ROOT
                message: Some Error
                groups: [Default, admin]
        phone:
            - NotBlank:
                message: Phone must be declared!
                groups: [admin]
        granted_by:
            - NotBlank:
                message: Your promotor must be declared!
                groups: [admin]