私の2セントされています
- (jquery.validateとjquery.validate.unobtrusive)対(MicrosoftMVCValidation)
ピック最初はHTML5のdata- *属性が入力フィールドに生成され、バリデーターは控えめに別々のjavascriptファイルにアタッチされています。 Microsoftの検証では、最終的なマークアップはもはやマークアップではなく、マークアップとjavascriptが混在しています。これにより、HTMLページのサイズが大きくなるだけでなく、外部静的リソースのブラウザキャッシュ機能の恩恵を受けることができなくなります。
プロジェクトによっては、jQuery.validateプラグインを直接使用するのか、自動生成されたHTML5 data- *属性を使用するのかを決定し、jquery.validate.unobtrusiveスクリプトでいくつかのDataAnnotationsルールに基づいて自動クライアントスクリプトの検証を行います私のビューモデル。実際、DataAnnotationsではなくFluentValidation.NETを使用していますが、どちらもModelMetaDataを発行するため、クライアント側には関係ありません。私はASP.NET MVC 3と同意しなければなりません。Microsoftは、これらのスクリプトを使用して前進しました。 jquery.validate.unobtrusive scripts。しかし、基本的には、実際に私が取り組んでいるプロジェクトと私が必要とするコントロールの量に依存します。
- (jquery.unobtrusive-アヤックス)(MicrosoftAjax & MicrosoftMVCAjax)対
上記:-)のいずれもありません、私は純粋にjQueryを使って、あなたをお勧めしますが、あなたはjquery.unobtrusiveの間で選ぶ必要があった場合-ajaxとMicrosoftAjaxは、前と同じ理由で最初を選択します。今私はなぜ私がどちらか好きではない理由を説明する必要があります。私はすでにすべてのMicrosoft *スクリプトの完全な愚かさを指摘していますので、もう一度繰り返さないようにしてください。マイクロソフト自身も間違いを認識し、ASP.NET MVC 3から始まります。jQueryはデフォルトのライブラリになり、そのスクリプトは変換する可能性のある古いアプリケーションとの互換性のためにのみ含まれていますが、将来のバージョンでは完全に消えてしまいます。問題は純粋なjQueryがjQuery.unobtrusive-ajaxと比較している理由です。最初は、AJAXリクエストのイベントをはるかに管理しています。例えばjquery.unobtrusive-ajaxでは、JSONオブジェクトがOnSuccessコールバックで返されたときにjavascriptオブジェクトに自動的に解析されることはありません。手動で解析する必要があります。
これは素晴らしいと私が探していたものです。 :)片側の質問...検証では、あなたのページに両方のスクリプトを置くか、あるいはどちらか一方を選択するのですか?例えば、jquery.validateに頼りにならない? – Joshua
@Joshua、はい、 'jquery'、' jquery.validate'、 'jquery.validate.unobtrusive'の3つのスクリプトが必要です。 –
助けを借りてありがとう! :) – Joshua