【问题标题】:Add validator to custom form type将验证器添加到自定义表单类型
【发布时间】:2015-10-16 09:29:41
【问题描述】:

如何将验证器添加到自定义表单类型?以 IBAN 为例。

use Symfony\Component\Validator\Constraints\IbanValidator;

class IBANType extends AbstractType
{
    public function getName()
    {
        return 'iban';
    }

    public function getParent()
    {
        return 'text';
    }

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        //IbanValidator ???
    }
}

Here 他们建议使用监听器:

接口 FormValidatorInterface 已被弃用,将被 在 Symfony 2.3 中删除。

如果您使用此接口实现了自定义验证器,您可以 用监听事件的事件监听器代替它们 FormEvents::POST_BIND(或任何其他 *BIND 事件)。万一你 使用 CallbackValidator 类,您现在应该传递回调 直接添加EventListener。

但是怎么做呢?

【问题讨论】:

    标签: validation symfony


    【解决方案1】:

    试试这个:

    use Symfony\Component\Validator\Constraints\IbanValidator;
    
    class IBANType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('iban', 'text', [
                'constraints' => [
                    new IbanValidator(),
                ],
            ]);
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2012-10-04
    • 2013-11-29
    • 2011-04-15
    • 2014-06-04
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多