ASP.NET MVC-クライアント検証用のデータ注釈
-
05-07-2019 - |
質問
データ注釈を使用するASP.NET MVCアプリケーションの場合...
<%= Html.ValidationSummary("Things broke...") %>
<% Html.EnableClientValidation(); %>
そして、サーバーに投稿します。それでもアクションをヒットしないので、ModelState.IsValidを確認し、検証エラーで元のビューに戻ります。 (投稿を介して)サーバーにアクセスしている場合、クライアント側の検証と見なされますか?
解決
いいえ、あなたが言ったことはクライアント側の検証とはみなされません。
クライアント側の検証は、通常はJavaScriptを使用して、ブラウザー(クライアント)内のフォームを検証するものと見なされます。投稿がサーバー(ASP.net)に送信されると、サーバー側の検証モードになります。
あなたが本当に求めているのは、新しいasp.net mvc 2.0検証がクライアント側であるかどうかです。
EnableClientValidation を使用すると、データ注釈付きモデルでjquery validateプラグインを使用して、クライアント側で真の検証を行うことができます。検証を行うためにサーバーにポストバックするべきではありませんが、ポストバックする場合、クライアント側の検証は100%信頼できないため、おそらくサーバー上でも検証します。
他のヒント
はい、それはサーバー側の検証です。クライアント側で検証を行い、いずれかのフィールドが無効なときにフォームが投稿されないようにすると、クライアント側の検証になります。
これらのライブラリを追加すると、クライアントの検証が行われます。
<script type="text/javascript" src="MicrosoftAjax.js"></script>
<script type="text/javascript" src="MicrosofMVCValidation.js"></script>
これらのライブラリは、検証用のJavaScriptコードを生成します。 ただし、このためには Dataannotations を使用する必要がありますp>
例について