2014-10-17 56 views
0

請幫我解決一個簡單的問題。BootstrapValidator,添加自定義服務器端消息

我使用MVC4 + bootstrap驗證。

我有一個表單[登錄,密碼]身份驗證。當用戶按下提交按鈕時,Ajax表單將其輸入數據發送到服務器,並且它檢查用戶是否被認證等。在服務器錯誤(密碼或用戶名錯誤)的情況下,服務器返回json對象「error = message」。

提交一個ajax表單後,它會調用js函數onSuccess,在這裏我檢查返回的數據是否有錯誤。

因此,在這裏我想用服務器端數據(在這個例子中,他的郵件或密碼是錯誤的)以某種方式使用bootstrap向用戶顯示消息,例如,在輸入電子郵件字段中。我怎樣才能做到這一點? 此外,如何在提交它並從服務器獲取消息後向表單添加自定義消息?

謝謝。

回答

0

通常我們遵循的標準是,只需檢查用戶名爲&的密碼字段是否需要其他驗證,如長度/必填/字符類型等,而不是顯示「不正確的用戶名或密碼」或其他消息等消息。

其實這些都是特定於表單的消息,而不是字段特定的。因此,要顯示錶單消息,請按照以下步驟操作:

添加驗證摘要html助手(在您的視圖中的首選位置),帶重載功能僅顯示非屬性錯誤(剃鬚刀),(默認情況下會創建無序列表結構)與列表項每個錯誤消息:

@Html.ValidationSummary(true) 

在控制器添加自定義消息發送到的ModelState錯誤消息如下(C#):

ModelState.AddModelError("", "The user name or password provided is incorrect."); 

這會顯示錯誤消息爲您的html中的無序列表,而不是您的字段/屬性特定的驗證控件。

您可以創建自定義驗證摘要html助手來根據您的需要呈現html。

+0

hm ...但我怎樣才能在Ajax.Form中使用ModelState?我的意思是,我的Ajax.Form調用OnSuccess屬性中指定的OnLogin函數。所以之後,我想讓引導程序顯示該用戶未被授權。 – DolceVita 2014-10-17 08:39:55

+0

請參考下面的鏈接ajax調用: http://stackoverflow.com/questions/13093186/displaying-model-state-errors-after-ajax-call-on-razor-views – 2014-10-17 11:32:29

+0

這個鏈接我使用標準的jQuery驗證引擎($ .validate()方法),但是如何在提交表單後啓動引導驗證器並在服務器中添加自定義錯誤消息? – DolceVita 2014-10-17 20:32:13

相關問題