【发布时间】:2013-09-03 11:30:04
【问题描述】:
我对验证组有疑问。
创建用户时:
-
password不能为空 -
passwordlength 应介于 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 }
据我所知 default 是包含属于任何组的所有验证器的组(除了NotBlank 密码)。组 create 仅包含 plainPassword 的 NotBlank 规则。所以:
- 创建:
default+create组 - 编辑:
default组
在我的 createAction 控制器操作中,我传递 array('validation_groups' => array('default', 'create')),在调用 editAction 时传递 array('validation_groups' => array('default'))。
它不起作用:编辑时密码可以为空(正确),但如果已填写,则不会出现错误——比如说——它是 3 个字符长。
【问题讨论】:
标签: validation symfony symfony-2.1 symfony-forms