web-dev-qa-db-ja.com

ASP.NET MVC 3:動的/ AJAXコンテンツの控えめなクライアント側検証に必要な手順

動的に挿入されたフォームフィールドに対してクライアント側の控えめな検証が機能するために必要なStepsの完全なセットは何ですか?

関連するSO投稿

ASP.NET MVC 3動的コンテンツによる控えめなクライアント側検証 -生成されたHTMLに控えめな検証属性を表示する必要があり、BeginFormを呼び出して表示しました

AjaxFormでのASP.Net MVC 3検証 -質問者はAjax.BeginForm JQuery.validationの代わりにMicrosoftAjaxを使用します。

PartialViewと控えめなクライアント検証が機能しない -控えめな検証属性が表示されず、上書きされないという問題がありましたViewContext.FormContext回避策として。

ASP.NET MVC 3:BeginFormがレイアウト上にあるときに控えめな検証を生成する -控えめな検証属性がHTMLに表示されないための回避策

関連リンク

Brad Wilsonの ASP.NET MVC 3での控えめなクライアント検証

ASP.NET MVC 3の検証の完全ガイド-パート1

ASP.NET MVC 3の検証の完全ガイド-パート2

ASP.NET MVC 3の動的コンテンツによる控えめなクライアント側検証

39
Kaleb Pederson

この時点で、次の要件がすべて揃っていると思います。

  1. _Html.BeginForm_でフォームを作成します
  2. ClientValidationEnabledをオンにします
  3. UnobtrusiveJavaScriptEnabledをオンにします
  4. モデルのプロパティに適切な検証属性を設定します(notフィールド)
  5. フォーム要素の作成に使用されているHtmlヘルパーが_Html.BeginForm_呼び出しと同じフォーム上にない場合、関連する回避策を使用します( 回避策1 および 回避策2 を参照してください) =)
  6. jquery、_jquery.validate.js_、および_jquery.validate.unobtrusive.js_ファイルをこの順序で含めます
  7. 控えめな検証属性がHTMLに存在することを確認します
  8. カスタムバリデーターを使用する場合:
    • それらが_jQuery.validator.unobtrusive.adapters_に追加されていることを確認してください
    • _jQuery.validator.addMethod_を呼び出して、jQuery検証プラグインに追加されていることを確認してください。
    • $(document).ready()の前に上記の処理が行われるようにしてください。その時点では手遅れです
  9. 初期ページのロード後に動的に追加された要素で_jQuery.validator.unobtrusive.parse_または_jQuery.validator.unobtrusive.parseElement_を呼び出します。
55
Kaleb Pederson