【问题标题】:symfony2 formbuildersymfony2 表单生成器
【发布时间】:2012-02-23 22:47:02
【问题描述】:

我在 symfony2 中创建了一个 customFormtype,并在我的控制器的表单构建器中使用它。 这是我渲染表单时的 html 结果:

        <div id="form">
              <input type="hidden" id="form__token" name="form[_token]" value="2e8fe0d777b5c0d7d30d9bfd9d5143811c790b1d">
              <div>
                 <label class=" required">Stars</label>
                 <!-- some other stuff -->
              </div>
        </div>

id form 是从哪里来的,我可以在哪里更改名称? 非常感谢。

【问题讨论】:

  • documentation中有描述。
  • 我找不到可以设置id的句子。覆盖模板不是我想要的。

标签: symfony formbuilder


【解决方案1】:

表单的id由getName()函数定义

class TaskType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('task');
        $builder->add('dueDate', null, array('widget' => 'single_text'));
    }

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

例如。 '任务'在这里。 (http://symfony.com/doc/current/book/forms.html#creating-form-classes)

【讨论】:

  • 不,我的名字是“areaSelect”,而不是“form”。
  • 如果您希望我看到问题,请使用您的模板代码、控制器操作和表单更新您的问题。
【解决方案2】:

您可以使用命名的表单构建器:

protected function createMyForm()
{
    return $this->container->get('form.factory')->createNamedBuilder('my_form_name', 'form')
        ->add('id', 'hidden')
        ->getForm();
}

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 2014-04-19
    • 2015-05-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2012-06-16
    相关资源
    最近更新 更多