Symfony 2中密码更改的验证组?

时间:2013-09-03 11:30:05

标签: validation symfony symfony-2.1 symfony-forms

我的验证组存在问题。

创建用户时:

  • password不能为空
  • password长度应介于4到16个字符之间

编辑用户时:

  • password可以为空白
  • password如果已填充
  • ,则应介于4到16个字符之间

我的用户实体验证YAML,声明create组:

My\Entity\User:
  properties:
    username:
      - NotBlank: ~
      - Length: { min: 4, max: 12 }
    email:
      - Email: ~
      - Length: { max: 255 }
    plainPassword:
      - NotBlank:
          groups: [create]
      - Length: { min: 4, max 16 }

据我所知默认是包含属于任何组的所有验证程序的组(除了密码NotBlank之外的所有验证程序)。群组create仅包含NotBlank的{​​{1}}规则。所以:

  • 创建:plainPassword + default个群组
  • 编辑:create群组

我在default控制器操作时是array('validation_groups' => array('default', 'create')),在调用createAction时是array('validation_groups' => array('default'))

不起作用:当编辑时,密码可以为空(正确),但如果填写密码,则不会发生错误 - 例如 - 它的长度为3个字符。

1 个答案:

答案 0 :(得分:1)

默认组不应该用作Default D的{​​{1}}吗?