ViewModel のフィールドに配置された属性に対して、MVC4 フィールドのクライアント側、javascript または jQuery 主導の検証を処理するための最良の方法を知りたいです。
ここに例があります
[Required]
public string Username { get; set; }
[Required]
public string Email { get; set; }
<div>
@Html.LabelFor(m=>m.Username)
@Html.ValidationMessageFor(m => m.Username)
</div>
<div>
@Html.LabelFor(m=>m.Email)
@Html.ValidationMessageFor(m => m.Email)
</div>
現在、無効な電子メール アドレスや空の UserName などをフォームに入力して [送信] をクリックすると、エラーが正しく通知されます。期待どおりに動作しています
ユーザーがテキスト ボックスからフォーカスを失い、キーを押すたびに、そのフィールドの検証が行われるようにしたいと思います。
これをすべてのページに追加することで、この問題を修正しました..
<script>
$("input").blur(function () {
$(this).valid();
});
$("input").keydown(function () {
$(this).valid();
});
</script>
ハードコーディングされた jQuery フラグメントを記述することは、最良の選択肢ではありません。おそらくMVC4に埋め込まれているか、この検証を実行するためにjquery.validate.unobtrusiveを構成する方法がある場合は、データ駆動型のアプローチが必要です。
返事を待っています、
ありがとう - Atul