【问题标题】:symfony 2 choice ajax validation fixsymfony 2 选择 ajax 验证修复
【发布时间】:2015-03-30 11:14:06
【问题描述】:

我尝试类似的东西 - Validating dynamically loaded choices in Symfony 2

但是当我们收到提交的表单时,检查可能的值 - 在我看来,任何值都是正确的。

我添加修改以允许任何值 - 就像这里

$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
        $data = $event->getData();
        $event->getForm()->add('tags', 'tag', [
            'label'   => 'Sub Choice',
            'choices' => $data['tags'],
            'mapped'=>false,
            'required'=>false,
            'multiple'=>true,
        ]);
    });

但它不起作用 - 如何使它可用?

tag 是我选择的输入扩展(对于选择的 js ajax)

【问题讨论】:

  • 请添加更多信息
  • 更多信息,我根据选择创建输入并创建选择的harvesthq.github.io/chosen/options.html 用户可以在此输入中输入任何单词,如文本。但建议最后使用。所以我需要更改验证。 Id 默认 symfony 检查请求选项带有选项,如果不存在则创建错误 - 错误值。这是我尝试删除但不起作用

标签: ajax symfony input choice


【解决方案1】:

好的,我发现了问题。这个例子没问题,但我们需要 array_flip

这是工作版本

 $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
        $data = $event->getData();
        if(is_array($data['tags']))$data=array_flip($data['tags']);
        else $data = array();
        $event->getForm()->add('tags', 'tag', [
            'label'   => 'Sub Choice',
            'choices' => $data,
            'mapped'=>false,
            'required'=>false,
            'multiple'=>true,
        ]);
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2011-06-27
    • 2015-02-26
    • 2015-09-16
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多