当我试图添加表单类型class中的密码文件时:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', 'text');
$builder->add('email', 'email');
$builder->add('password', 'password');
$builder->add('terms', 'checkbox', array(
'mapped' => false,
'constraints' => new NotBlank()
));
}
然后在分支模板CCD_ 1中呈现该字段,它看起来像文本字段。但我需要它是密码类型<input type='password'..
。
此外,表单类型附加到具有密码属性的实体:
/**
* @var string
*
* @ORM'Column(name="password", type="string", length=32, nullable=false)
*/
private $password;
原因是什么?
原因是我使用表单主题:
{% block text_row %}
<div>
{{ block('form_label') }}
<div>
{{ block('form_widget_simple') }}
</div>
</div>
{% endblock %}
所以我添加了新的区块:
{% block password_row %}
<div>
{{ block('form_label') }}
<div>
{{ block('password_widget') }}
</div>
</div>
{% endblock %}
现在一切正常
您应该使用Type来定义$builder->add('child', 'type', ...)
中的字段Type
$builder->add('username', TextType::class, array('label' => 'Username'))
->add('password', PasswordType::class, array('label' => 'Password'))
和Twig
{{ form(form) }}
不确定这是否是正确的方法,但您是否尝试为字段指定类型?
$builder->add("密码"、"密码",数组("类型"=>"密码");