标签: craueformflow

Symfony2形成重复的元素自定义标签

我正在使用Symfony2和CraueFormFlowBundle来创建一个多步骤表单.除了我重复的电子邮件字段外,一切进展顺利.为了我,我不能找到如何贴上我想要的标签.我正在使用form_widget(...)和编写标签在Twig视图中自己呈现表单.我按照客户的意愿定位一切.现在,他希望看到电子邮件标签为"电子邮件*"和"确认电子邮件*"(因为它们是必需的星标).如果我使用form_row()渲染重复的元素,则表单上不再显示错误(但我可以控制标签,snap).显示错误的唯一方法(不要问我为什么),是通过使用指向整个重复元素对象的form_widget(form.giver.email).问题是,使用form_widget渲染整个重复元素使我无法控制标签.

通过渲染整个重复元素,它使用"first_name"和"second_name"参数打印标签.出于显而易见的原因,我不能在这些参数中加上大写字母,短划线和星号.如果我尝试在options数组中设置标签,那么该标签将传递给两个字段,如Symfony2 doc中所述...

我尝试使用twig中的".first"和".second"进行打印,但是我收到一条错误,指出这些在FormView中不存在.

现在我想要的是能够分别设置两个标签!这是我目前的代码:

$builder->add('email', 'repeated', array(
        'type' => 'email',
        'first_name' => 'email',
        'second_name' => 'confirm',
        'invalid_message' => 'The e-mails you provided did not match.',
        'error_bubbling' => false
    ));
Run Code Online (Sandbox Code Playgroud)

这会将标签打印为"电子邮件"和"确认".这是使用"选项"数组:

$builder->add('email', 'repeated', array(
        'type' => 'email',
        'first_name' => 'email',
        'second_name' => 'confirm',
        'invalid_message' => 'The e-mails you provided did not match.',
        'error_bubbling' => false,
        'options' => array(
            'label' => "TESTTT"
        ),
    ));
Run Code Online (Sandbox Code Playgroud)

这将在两个重复的字段上打印"TESTTT"标签.我能做些什么吗?如上所述,如果电子邮件不相等或者它们是空白的,则使用form_row()不会在表单提交时显示错误.所以我被限制使用form_widget()并渲染整个重复的对象.

在此先感谢您的时间.

forms label element symfony craueformflow

11
推荐指数
3
解决办法
7761
查看次数

标签 统计

craueformflow ×1

element ×1

forms ×1

label ×1

symfony ×1