0

@Html.ValidatonSummary(true) に検証エラーが含まれている場合、.cshtml ページをチェックインするにはどうすればよいですか。

ユーザーが無効な値を入力し、ボタンをクリックしてフォームを送信すると、検証エラーが表示されます。エラーメッセージがあるかどうかを確認し、表示中にそのエラーメッセージを変更できるようにしたい。cshtmlページのこのようなもの、

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

ありがとう!

4

1 に答える 1

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);
}
于 2013-07-15T17:19:40.760 に答える