2013-01-14 67 views
0

我有一個使用Symfony安全系統的登錄表單。Symfony自定義錯誤消息

我現在想定製錯誤消息,例如,如果您輸入無效的憑據Symfony返回'壞證書'。我怎樣才能將該消息自定義爲「無效的電子郵件/密碼」?

謝謝

+0

哎呀,爲什麼是這樣Smyfony un-customizable,Surly它應該很容易改變登錄錯誤信息:( –

+0

確實是深度定製......但這個已被遺忘的第一個版本。這是一個衆所周知的問題,應該已經修復Symfony 2.1,做到了嗎? – AlterPHP

回答

0

您使用的是FOSUserBundle嗎?如果是這樣,所有消息都存儲在翻譯文件中。

將翻譯文件從FOSUserBundle \ Resources \翻譯複製到您的UserBundle,該文件將覆蓋FOSUserBundle。

Symfony是高度可定製的,只要你知道你在做什麼。

+0

嗨,沒有我不使用FOSUserBundle,所以不會工作:( –

+0

爲什麼你不使用FOSUserBundle? – Mike

+0

@Mike我們很多人喜歡弄清楚如何去做* wi *先幫助,然後理解*爲什麼*'幫助'是有用的。框架同樣適用 - 首先學習PHP,理解爲什麼需要框架,然後根據需要採取框架。考慮研究。 – Jimbo

1

爲這一個,也只有這一個,這不是驗證錯誤,但被嚴重發送到控制器中的異常信息...

如果我清楚地記得,你可以在一個messages.yml覆蓋它文件(.yml或.xliff擴展,只要你想):

"Bad credentials": "Invalid email/password" 

這是十分可怕的,但它是實現這一目標的登錄錯誤的唯一方法。同樣的修復程序「所提出的密碼不能爲空」或「所提出的密碼無效」 ......

而且,在枝條模板,你必須申請譯者:

{% if error %} 
    <p class="error">{{ error.message|trans }}</p> 
{% endif %}