【发布时间】:2014-09-08 13:28:31
【问题描述】:
我使用 Symfony v2.3.x,并且我有一个看起来像这样的验证文件:
Namespace\To\MyEntity:
properties:
entityCollection:
- Type: { groups: [mygroup], type: array }
- All:
constraints:
- Type: { groups: [mygroup], type: Namespace\To\AnotherEntity }
所以MyEntity 必须在entityCollection 字段中包含AnotherEntitys 的数组。
它成功验证entityCollection 必须是一个数组。但是,它无法验证该数组的元素是否属于指定类型。
例如,这两个var_dumps 都在屏幕上显示值0,即使我期望的不是零:
$obj = new MyEntity();
$obj->entityCollection = array(12345);
$errors = $symfonyValidator->validate($obj, array('mygroup'));
var_dump(count($errors));
$obj = new MyEntity();
$obj->entityCollection = array("something");
$errors = $symfonyValidator->validate($obj, array('mygroup'));
var_dump(count($errors));
我什至尝试从验证文件中删除 constraints 条目;没什么区别。
我查看了Symfony's official page about the All keyword,但找不到任何可行的方法。
我应该如何修改我的validation.yml 文件中的条目以便验证按预期进行?
提前谢谢你。
【问题讨论】:
-
您能否详细说明“认为有效”的含义?你是说你的表单对象的
isValid()方法返回true? -
@HaigBedrosian 我编辑了我的问题以使其更清楚:)。
标签: php validation symfony symfony-2.3