2012-12-10 79 views
0
從模板點擊這個按鈕時

Symfony2 FOSUserBundle覆蓋表單:forms_error(表單)在提交前顯示?

<form action="{{ path('fos_user_registration_register') }}" method="post">   
    <button class="btn btn-small btn-success" type="submit">S'inscrire</button>      
</form> 

我然後訪問我的UserBundle/Resources/view/Registration/register/html.twig(然後覆蓋FOSUSerBundle默認格式):

{% extends "FOSUserBundle::layout.html.twig" %} 

{% block fos_user_content %} 

<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register"> 
{{ form_rest(form) }} 
<div> 
    <input type="submit" value="{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}" /> 
</div> 
</form> 
    {% endblock fos_user_content %} 

由於種種原因,所有的驗證信息出現(如因爲請輸入用戶名),雖然我沒有事件提交表格!?

對此的任何解釋?

如何定製FOSUser模板並重定向error_message,而不是使其顯示或更改消息或顯示?

回答

1

在端我overrided的registration_content視圖這樣:

<form action="/projet_etienne_auth/web/app_dev.php/register/" method="POST"  class="fos_user_registration_register"> 
    {{ form_errors(form) }} 
    {{ form_widget(form._token) }} 
<div> 
<label for="fos_user_registration_form_username" class="required">Nom d&#039;utilisateur :</label> 
<input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" required="required" maxlength="255" pattern=".{2,}" /></div> 
<div> 
    <label for="fos_user_registration_form_email" class="required">Adresse e-mail :</label> 
    <input type="email" id="fos_user_registration_form_email" name="fos_user_registration_form[email]" required="required" /></div> 

<div> 
    <label for="fos_user_registration_form_plainPassword_first" class="required">Mot de passe :</label> 

    <input type="password" id="fos_user_registration_form_plainPassword_first" name="fos_user_registration_form[plainPassword][first]" required="required" /> 
</div> 
<div><label for="fos_user_registration_form_plainPassword_second" class="required">Vérification :</label> 
    <input type="password" id="fos_user_registration_form_plainPassword_second" name="fos_user_registration_form[plainPassword][second]" required="required" /> 
</div><div> 
    <input type="submit" value="Enregistrer" />