現在、MVC4のWebサイトでjqueryの検証を実装しようとしています。新しいテキスト入力後にモデルステートエラーをビューから削除する
私は、ユーザー名がmodel.Usernameテキストボックスに記入thatsの場合はエラーを与え、私のHTTP POSTのにModelStateが存在しないコメントを追加しました:
ModelState.AddModelError("UsernameNull", "Username does not exist");
そして、私の見解でEditorFor &検証メッセージ:
@Html.LabelFor(model => model.Username, "Username:")
@Html.EditorFor(model => model.Username)
<div class="error-container">
@Html.ValidationMessage("UsernameNull", null, new { @class = "error-container-error" })
</div>
投稿後に「ユーザー名が存在しません」というエラーが正常に表示されますが、エラーはビューページに残ります。私が達成したいのは、新しい入力がmodel.Usernameテキストボックスに入力されたときにエラーが消えてしまうことです。
カスタムModelStateエラーでは、自分で値をテストするためにJavaScriptを作成し、エラーを自分で削除する必要があります。 – krillgar
まず、プロパティ名と一致するには 'ModelState.AddModelError(" Username "、" Username does not exist ");および@Html.ValidationMessage(" Username ")'が必要です。 'name =" UsernameNull "で入力がないので、エラーメッセージを取り除くために' jquery.validate.js'で処理できる '.keyup()'イベントの '.blur()'はありません。しかしこれは '[Remote]'属性を使ってはるかに優れています。 [方法:ASP.NET MVCでリモート検証を実装する](https://msdn.microsoft.com/en-us/library/gg508808(VS.98).aspx) –