如何在Formbuilder(Symfony 4)中使用占位符?

时间:2018-11-20 14:22:16

标签: symfony oop placeholder formbuilder

我想在“密码”字段中使用一个占位符(如果它不为空):

$formBuilder->add('plainPassword', PasswordType::class, array('attr' => array('class' => 'form-control'), 'label' => 'Password','placeholder' => '...',));

但是我收到一条错误消息:

  

选项“占位符”不存在。定义的选项包括:   “动作”,“ allow_extra_fields”,“ always_empty”,“ attr”,   “ auto_initialize”,“ block_name”,“ by_reference”,“ compound”,   “约束”,“ csrf_field_name”,“ csrf_message”,“ csrf_protection”,   “ csrf_token_id”,“ csrf_token_manager”,“数据”,“数据类”,   “已禁用”,“空数据”,“错误冒泡”,“错误映射”,   “ extra_fields_message”,“帮助”,“ inherit_data”,“ invalid_message”,   “ invalid_message_parameters”,“ label”,“ label_attr”,“ label_format”,   “映射”,“方法”,“ post_max_size_message”,“ property_path”,   “必需”,“ translation_domain”,“修剪”,“ upload_max_size_message”,   “ validation_groups”。

如何创建占位符?

2 个答案:

答案 0 :(得分:1)

您必须将占位符选项放在attr数组中,如下所示:

$formBuilder
    ->add('plainPassword', PasswordType::class, array(
        'attr' => array(
            'class' => 'form-control',
            'placeholder' => '...',
        ),
        'label' => 'Password',
    ));

答案 1 :(得分:0)

您也可以使用类似方法将其直接放置在树枝文件中 {{form.widget(“ password”,{'attr':{'placeholder':“ password placeholder here”}})}} 。当您需要本地占位符时,这很有用。