php - Symfony 表单 - 如何在验证时添加一些逻辑

标签 php forms validation symfony symfony-forms

我有一个用于类(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/

相关文章:

php - 如何搜索html标签并删除它

php - 通过javascript提交两个表单而无需点击

javascript - 在 JavaScript 中获取 HTTP 表单主体

php - 是否可以强制您的 PHP 输入变量为强类型

php - 验证我的表单和标题到另一个成功页面

php - Opencart:自动更新货币流程如何运作

PHP检查变量是否为整数

forms - Chrome、Safari 和 Opera 不记得简单形式的密码

javascript - 形式 : One warning for all required fields

php - 使用正则表达式删除字符串的末尾部分