2013-07-15 104 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); 
}