6

同じ問題に関するさまざまな投稿を見てきましたが、役に立たないものはありません。

これは私のフォームです

<form action="" method="post" {{ form_enctype(form) }} novalidate>
    {{ form_errors(form) }}
    <div class="login_field">
        {{ form_label(form.name) }}
        {{ form_widget(form.name) }}                    
    </div>
    <div class="clear"></div>
    <div class="login_field">
        {{ form_label(form.status) }}
        {{ form_widget(form.status) }}                    
    </div>                
    <div class="login_field">
        <label>&nbsp;</label>
        <input type="submit" value="Create" class="submit_btn" />
    </div>
</form>

エラーはまったく表示されません。どうすればこの問題から抜け出すことができますか?

4

2 に答える 2

11

すべてのフィールドに含める必要がありform_errorsます...

<div class="login_field">
    {{ form_errors(form.name) }}    
    {{ form_label(form.name) }}
    {{ form_widget(form.name) }}                    
</div>

...またはform_row、3 つすべてを一緒にレンダリングするために使用します ...

<div class="login_field">
    {{ form_row(form.name) }}                       
</div>

... または、 FormType クラスのフォーム フィールドにerror_bubblingオプションを使用して、フォーム エラーを一番上に表示させます。これは、それらが を通じてレンダリングされることを意味します{{ form_errors(form) }}

$builder->add('fieldname', 'text', array(
    'error_bubbling' => true,
));

簡単なヒント: symfony 2.3 以降、送信ボタンを FormType に含めることができ、手動でレンダリングする必要はありません (参照)。

于 2013-09-17T11:45:40.757 に答える