2016-04-20 4 views
0

Это не работает, как я и ожидал.Symfony 3 group validation

Простой 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] 

Я хотел бы иметь 2 пути:

Если пользователь не администратор просто проверить свойство входа (работает отлично)

Если пользователь является администратор Validate все свойства: admin группа И имя входа.

Я пытался добавить такой код:

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

но когда пользователь админ это просто проверить свойства с админ группы (Логин поле не проверяется). Есть ли какое-либо решение, не добавляющее больше групп?

ответ

0

Убедитесь, что ограничение для 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]