2

フォームタイプクラスに入力されたパスワードを追加しようとすると:

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

次に、このフィールドを twig テンプレート{{ form_row(register.password) }}でレンダリングし、テキスト ファイルのように表示します。しかし、私はそれが password type である必要があります<input type='password'..

また、フォーム タイプはパスワード属性を持つエンティティに関連付けられます。

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

理由は何ですか?

4

3 に答える 3

2

その理由は、フォームテーマを使用しているためです。

{% 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です

于 2013-09-05T12:38:49.440 に答える