2013-09-05 4 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 %} 

И теперь все в порядке

-1

Не уверен, что это правильный способ, но попробовали ли вы указать тип поля?

 
$builder->add('password', 'password', array('type'=>'password'); 
Смежные вопросы