如果@ Html.ValidatonSummary(true)包含任何验证错误,我如何检查.cshtml页面。
如果用户输入无效值并通过单击按钮提交表单,则会显示验证错误。我希望能够检查是否有任何错误消息,然后在显示时修改该错误消息。在cshtml页面中有这样的东西,
if @Html.ValidationSummary(true) returns error message
then @Html.ValidationSummary(MyResourceFile.InvalidEntries)
谢谢!
答案 0 :(得分: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);
}