2012-07-27 55 views
1

我正在爲用戶端開發一個使用Symfony2和FOSUserBundle的網站。我正在嘗試自定義註冊表單,並且正在嘗試一些問題。使用FOSUserBundle自定義Symfony2中的表單錯誤

  1. 我試圖按照文檔在字段旁邊添加字段錯誤,但它只顯示在窗體的頂部;
  2. 當兩個密碼都不相同時,表單頂部會寫入一個錯誤:該值無效。這不是很清楚,我想用法語翻譯它,但我似乎無法在語言文件中找到它。我曾經翻譯過所有的表格,除了那個錯誤。

這裏是我的領域模板:

{% block field_errors %} 
{% spaceless %} 
{% if errors|length > 0 %} 
<ul class="list_error"> 
{% for error in errors %} 
<li>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</li> 
{% endfor %} 
</ul> 
{% endif %} 
{% endspaceless %} 
{% endblock field_errors %} 


{% block field_row %} 
{% spaceless %} 
<tr> 
    <td> 
     <label for="{{ form.vars.id }}">{{ form.vars.id|trans({}, "FOSUserBundle") }}</label> 
    </td> 
    <td> 
     {{ form_widget(form) }} 
     {{ form_errors(form) }} 
    </td> 
</tr> 
{% endspaceless %} 
{% endblock field_row %} 

回答

1

「無效」的錯誤之處在於它是在默認情況下爲所有字段相同有點特別。您可以在重複字段的選項覆蓋它(或任何領域,對於這個問題):

$builder->add('password', 'repeated', array(
    'type' => 'password', 
    'invalid_message' => 'Please enter the same password twice', 
)); 

順便說一下,錯誤的根源形式鼓泡重複場是an issue已修復的Symfony 2.1。

相關問題