如何验证同一实体的两个实例?

时间:2013-03-04 11:47:22

标签: symfony symfony-2.2

用例

我正在学习Symfony2并正在创建一个乒乓球跟踪应用程序来学习框架。我已经按如下方式配置了我的实体。

Player 1..n Result n..1 Match

在我的表格上,我想验证匹配的分数是否正确。

实施

Match的{​​{1}} ArrayCollection()

我的resultsMatchType表单包含以下内容。

ResultType

问题

我需要能够验证分数。但是我不确定如何处理这种类型的验证,因为我需要比较 // Form\MatchType $builder->add('matchType', 'entity', array( 'class' => 'PingPongMatchesBundle:MatchType', 'property' => 'name', ) ) ->add('results', 'collection', array( 'type' => new ResultType(), 'allow_add' => true, 'by_reference' => false, ) ) ->add('notes'); // Form\ResultType $builder->add('player', 'entity', array( 'class' => 'PingPongPlayerBundle:Player', 'query_builder' => function(EntityRepository $er) { return $er->createQueryBuilder('p') ->orderBy('p.firstName', 'ASC'); }, )) ->add('score'); 的两个实例,以便知道它们是否有效。

是否有人能够建议我可以使用的方法或方法,以便能够在两个不同的实例之间进行比较Result#score?我可以验证Result#score实体中的ArrayCollection吗?

2 个答案:

答案 0 :(得分:0)

您可以在Match实体上创建自定义验证器约束。 http://symfony.com/doc/2.0/cookbook/validation/custom_constraint.html

答案 1 :(得分:0)