MVC Razor ビュー エンジンでの作業; プロパティに標準の必須属性を持つモデルと、ajax コールバックを介してレンダリングされる部分ビューがあります。メイン ビューにはフォームが含まれており、部分ビューには表示テンプレートなどが含まれているだけです。クライアント側でデータ注釈をトリガーするには、次のことを行う必要がありました。
$('#MyButton').click(function () {
$('#MyContainer').load("MY_ACTION_URL", function () {
var form = $("#ReserveForm");
form.removeData('validator');
form.removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(form);
});
});
上記はうまく機能し、クライアント側の検証を再バインドし、完全に起動します。問題は、起動していないカスタム Jquery 検証があることです。例えば;
$('#ReserveForm').validate({
ignoreTitle: true,
errorLabelContainer: '#errorContainer',
errorClass: 'ClientSide-Validation-errors'
});
$.validator.addMethod('myCustomValidation',
function (value, element, param) {
return $(element).val() == '' && param == true;
}, 'my message');
$('#MYINPUT').rules("add",
{
myCustomValidation: true
});
上記のカスタム検証は、部分レンダリングの準備ができているドキュメントで宣言されていますが、うまくいきません。
PS、ページの読み込み時に (たとえば RenderAction で) パーシャルをレンダリングすると、カスタム検証が正常に起動します。
どんな助けでも感謝します。