私は私の中に次の設定を持っていますweb.config:
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
クライアント側の検証は使用していません。
これらを に設定するfalse
必要がありますか、それとも両方のエントリを削除するだけでよいですか?
私は私の中に次の設定を持っていますweb.config:
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
クライアント側の検証は使用していません。
これらを に設定するfalse
必要がありますか、それとも両方のエントリを削除するだけでよいですか?
2 つの異なる設定Web.config
が結合されていますが、同義ではありません。
<add key="ClientValidationEnabled" value="false"/>
クライアント検証が有効かどうかを決定します。値がfalseに設定されている場合、モデルの注釈 (required, min, max
など) はクライアント側の属性または動作を作成しません。
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
ASP.NETがクライアント側の非同期タスクにJQueryを使用するか、生のJavaScriptを使用するかを決定します。
の場合UnobtrusiveJavaScriptEnabled=false
、クライアント側の検証は引き続き機能しますが、 JQueryで生のJavaScriptを使用します。
JavaScript よりも JQuery を使用する意義は何ですか?
一部の環境では、JQueryを使用しないことを選択しています。UI フレームワークを大幅にカスタマイズしています。JQueryは、独自の方法で既に使用されている場合があります。または、すべての非同期拡張に別の JS ライブラリが使用されている可能性があります
生の JavaScript を使用するデメリットは何ですか?
Ajaxヘルパーは、JQuery (UnobtrusiveJavaScriptEnabled)なしでは機能しません。
生のJavaScriptは扱いにくく、マークアップに多くのものを詰め込んでしまいます。JQuery は、より軽量でクリーンなマークアップを作成します。(「より軽い ajax 属性」の利点)
生のJavascriptは堅牢性が低くなり、効率が低下する可能性があります。ASP.NET JavaScriptライブラリは 3 年間進化していないことに注意してください( MVC 3のリリースよりずっと前)。
結論は:
クライアント側の検証を無効にする場合は、設定します
<add key="ClientValidationEnabled" value="false"/>
ただし、ClientValidationEnabled
設定をのままにしておくことをお勧めしますtrue
。モデルを検証アノテーションで装飾しない場合、フレームワークは検証属性をレンダリングしません。オプションを開いたままにして、クライアント側の検証を使用するビュー/ビューモデルごとに決定することをお勧めします。
UnobtrusiveJavaScriptEnabledを無効にすることはお勧めしません。ASP.NET MVC FrameworkでJQueryを使用する微妙な方法が多すぎます。これにより、クライアント側の検証が無効になりません。
重要な注意:どちらのエントリも削除しないでください。無効にしたい場合は、 に設定してfalse
ください。いずれかのエントリを削除すると、フレームワークのデフォルトの動作 (時間の経過とともに変化する可能性があります) に翻弄されます。
目立たない設定でOKです。
ClientValidationEnabled
に設定する必要がありますfalse
。
<configuration>
<appSettings>
<add key="ClientValidationEnabled" value="false"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
お役に立てれば。