2013-07-15 103 views
0

如果@ Html.ValidatonSummary(true)包含任何驗證錯誤,我該如何檢查.cshtml頁面。修改html驗證摘要

如果用戶輸入無效值並通過單擊按鈕提交表單,則會顯示驗證錯誤。我希望能夠檢查是否有任何錯誤消息,然後在顯示時修改該錯誤消息。像這樣的cshtml頁面,

if @Html.ValidationSummary(true) returns error message 
then @Html.ValidationSummary(MyResourceFile.InvalidEntries) 

謝謝!

回答

0

通過在控制器中而不是在視圖中更改爲HttpPost方法的catch表達式中的自定義消息來解決它。

[HttpPost]  
public ActionResult Validate(LoginModel model, string returnUrl) { 

try { 
    if (!ModelState.IsValid) { 
    throw new AuthenticationException(CustomErrorRes.InvalidEntry); 
     } 

catch (Exception e) { 

     ModelState.AddModelError(string.Empty, CustomErrorRes.InvalidEntry); 
     TempData[ACCOUNT_LOGIN_ERROR] = CustomErrorRes.InvalidEntry; 
     return RedirectToAction("Validate"); 
    } 
return RedirectToLocal(returnUrl); 
}