ビュー (部分) とビューモデルの観点から分割した巨大なフォームがあります。
メイン フォーム ビューには、次の呼び出しが含まれています。
@Html.Partial("Educations", @Model)
部分的なビューは、@Model をループすることによってレンダリングされ、レコードごとに Div 行が生成されます (TextBoxFor やその他の Html ヘルパーではなく、TextBox)。
何が起こるかというと、部分ビューに対して検証データ属性が生成されていないということです。
ただし、メインフォームビューを動的にロードしたら、次のことを行います。
(function ($) {
$.fn.updateValidation = function () {
var form = this.find("form")
.removeData("validator")
.removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse(form);
return this;
};
})(jQuery);
また、部分ビューには、さらに行を追加するためのボタンが含まれています。行を追加すると、データ検証を手動で挿入するときに、新しく追加された行が検証されます。
問題は、フォームの読み込み時にレンダリングされる行にデータ検証属性がないため、上記のプラグインを呼び出して目立たない検証を再初期化しても、役に立たないか、違いがないことです。
ありがとう