2013-09-05 60 views
2

當我嘗試添加密碼在我的表單類型類申請:Symfony的形式 - 密碼型

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() 
    )); 
} 

,然後渲染它看起來就像提起文字細枝模板{{ form_row(register.password) }}這一領域。但我需要它是密碼<input type='password'..

也構成類型連接到實體密碼屬性:

/** 
* @var string 
* 
* @ORM\Column(name="password", type="string", length=32, nullable=false) 
*/ 
private $password; 

的原因是什麼?

+1

你使用表單主題?如果是這種情況,則默認小部件可能會被覆蓋。你可以試試'{{form_widget(register.password)}}'看看會發生什麼? –

回答

1

的原因是,我使用的形式主題:

{% 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 %} 

而現在一切都OK

-1

不知道這是否是正確的方法,但您是否嘗試在字段中指定類型?

 
$builder->add('password', 'password', array('type'=>'password');