php – 选项“约束”不存在

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 选项“约束”不存在脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Symfony 2.6.我试图创建一个没有实体的表单,但得到以下错误
class MessageTyPE extends AbstractType
{
    public function builDForm(FormBuilderInterface $builder,array $options)
    {
        $builder
            ->add('sender','text',[
                'constraints' => [
                    new Constraints\NotBlank(),],])
            ->add('recipient','email')
            ->add('message','textarea');
    }

    public function getName()
    {
        return 'message';
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $collectionConstraint = new Constraints\Collection(array(
            'fields' => [
                'sender' => [
                    new Constraints\NotBlank(),new Constraints\Email(),'recipient' => [
                    new Constraints\NotBlank(),'message' => [
                    new Constraints\NotBlank(),));

        $resolver->setdefaults([
            'validation_constraints' => $collectionConstraint,]);
    }
}

仅使用setDefaultOptions不会显示错误,但它不起作用,不会验证字段.

可以看出,无论如何都试过了.我也尝试使用组件表单发件箱的文档,但得到相同的错误.

http://symfony.com/doc/current/components/form/introduction.html#form-validation

编辑

我也试过这种方式并得到同样的错误.

$form = $formFactory->createBuilder()
    ->add('task',array(
        'constraints' => new NotBlank(),))
    ->add('dueDate','date',array(
        'constraints' => array(
            new NotBlank(),new Type('\DateTime'),)
    ))
    ->getForm();
‘constraints’选项是Validator扩展表单的一部分.我是怎么解决这个问题的:
$ValidatorExtension = new ValidatorExtension($validatorBuilder->getValidator());

$formRegistry = new FormRegistry([$csrfPRovider,new CoreExtension(),$ValidatorExtension],Yii::$symfony->container->get('form.resolved_type_factory'));

脚本宝典总结

以上是脚本宝典为你收集整理的php – 选项“约束”不存在全部内容,希望文章能够帮你解决php – 选项“约束”不存在所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。