【发布时间】:2013-08-09 13:30:59
【问题描述】:
我有一个非常简单的没有类的表单。我制作了一些带有约束选项的项目,但表单验证不起作用。
我读过几个地方(e.g here)
我可以添加一个validation_constraint 参数,它是一个\Symfony\Component\Validator\Constraints\Collection 实例。
当我尝试时,我总是收到一条错误消息:
选项“validation_constraint”不存在。已知的选项是:...blabla
我的表格:
$collectionConstraint = new \Symfony\Component\Validator\Constraints\Collection(
array(
'customer' => new \Symfony\Component\Validator\Constraints\NotBlank(),
'customer_address' => new \Symfony\Component\Validator\Constraints\NotBlank(),
'customer_address_postal' => new \Symfony\Component\Validator\Constraints\NotBlank(),
'paymentDeadline' => new \Symfony\Component\Validator\Constraints\Date(),
'fulfillmentDate' => new \Symfony\Component\Validator\Constraints\Date(),
'currency' => new \Symfony\Component\Validator\Constraints\Choice(array(
'choices' => $currency_entities
)),
'paymode' => new \Symfony\Component\Validator\Constraints\Choice(array(
'choices' => $paymode_entities
))
)
);
$form = $this->createFormBuilder(null,array(
'validation_constraint' => $collectionConstraint
))
->add('customer','choice',array(
'choice_list'=> $customer_choices,
'multiple' => false,
'required' => true,
'empty_value' => '',
'attr' => array(
'class' => 'chosen large',
)
))
->add('customer_address','choice',array(
'multiple' => false,
'required' => true,
'empty_value' => '',
'attr' => array(
'class' => 'chosen large'
)
))
->add('customer_address_postal','choice',array(
'multiple' => false,
'required' => true,
'empty_value' => '',
'attr' => array(
'class' => 'chosen large'
)
))
->add('paymentDeadline','date',array(
'input' => 'datetime',
'widget' => 'single_text',
'required' => true,
'attr' => array(
'class' => 'date-picker m-ctrl-medium',
'addon' => 'icon-calendar',
)
))
->add('fulfillmentDate','date',array(
'input' => 'datetime',
'widget' => 'single_text',
'required' => true,
'attr' => array(
'class' => 'date-picker m-ctrl-medium',
'addon' => 'icon-calendar',
)
))
->add('currency','choice',array(
'required' => true,
'choice_list' => $curreny_choices
))
->add('paymode','choice',array(
'required' => true,
'choice_list' => $paymode_choices
))
->add('subject','text',array(
'required' => false,
'attr' => array(
'class' => 'span8'
)
))
->add('comment','textarea',array(
'required' => false,
'attr' => array(
'class' => 'span8',
'rows' => 5
)
))
;
Symfony 版本是 2.3.3。
可能是什么问题?
【问题讨论】:
-
只是为了好玩,尝试将 'validation_constraint' 更改为 'constraints'。可能不会起作用,但它可能会。
-
谢谢,我试过了,但没有。
标签: forms validation symfony symfony-2.3