我有一个用于类(class)订阅的表单,其中有 2 个实体字段:activite 和 etudiant。如果我已经预订了培训师(我可以通过实体事件在数据库中找到信息),我不想验证此表格。 我如何(在哪里...)添加一些逻辑指令来控制此表单的验证? 有人有想法吗?铅?如果没有 Symfony(对我来说),这会很简单!... 谢谢
class InscriptionType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('activiteId', 'entity',
array('label'=>'Activité',
'attr'=>array('class'=>'form-control'),
'class'=>'AssoFranceRussie\MainBundle\Entity\Activite',
'property'=>'nomEtNiveauEtJour',
))
->add('etudiantId', 'entity',array('label'=>'Etudiant',
'attr'=>array('class'=>'form-control'),
'class'=>'AssoFranceRussie\MainBundle\Entity\Etudiant',
'property'=>'NomEtPrenom',
))
;
}
最佳答案
您可以通过扩展 Symfony 验证类来编写自己的约束和验证器。
您需要扩展 Symfony\Component\Validator\Constraint
来定义约束,并扩展 Symfony\Component\Validator\ConstraintValidator
来定义验证代码。
可能还有其他方法可以做到这一点,但这使您可以完全控制验证。
关于php - Symfony 表单 - 如何在验证时添加一些逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193148/