Forms Symfony2:动态验证表单

Forms Symfony2:动态验证表单,forms,validation,symfony,propel,Forms,Validation,Symfony,Propel,我有一个基于各种对象的表单,它是动态构建的,字段以DB读取。这个很好用 现在,我需要使用DB中解释的规则验证表单。 vaidation的示例: if($myobject->getValue() !=== $value_from_db) then addViolation('bzzzz') 我在互联网上找到的任何解释都与静态验证有关。是否无法将验证器应用于表单或对象,以便$form->isValid()方法考虑它 注意:我使用的是推进而不是条令。您可以对单个表单类型设置约束 use Cer

我有一个基于各种对象的表单,它是动态构建的,字段以DB读取。这个很好用

现在,我需要使用DB中解释的规则验证表单。 vaidation的示例:

if($myobject->getValue() !=== $value_from_db) then addViolation('bzzzz')
我在互联网上找到的任何解释都与静态验证有关。是否无法将验证器应用于表单或对象,以便$form->isValid()方法考虑它


注意:我使用的是推进而不是条令。

您可以对单个表单类型设置约束

use Cerad\Bundle\PersonBundle\ValidatorConstraint\AYSO\VolunteerIdConstraint  as IdConstraint;

class VolunteerIdFormType extends AbstractType
{
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'label' => 'AYSO Volunteer ID (8-digits)',
        'attr'  => array('placeholder' => 'AYSO ID', 'size' => 10),
        'constraints' => new IdConstraint(),
    ));
}
当然,您需要创建自己的自定义约束以获得数据库交互