Ответ 1
Я провожу 3 недели, чтобы решить проблему ненавязчивой проверки, используемой в диалоговых окнах MyPrettyCMS.
Я также использую LocalizedRequiredAttribute, как вы можете видеть в тех AutoGenerated MetaDataModels.
Я не знаю Orcad, но я предполагаю, что он представляет пользовательские формы как диалоговые окна JQuery, как и я.
Есть две трудности:
1-я строка: вы должны (повторно) присоединить диалоговые поля к форме, которую вы будете использовать для отправки данных на сервер.
2nd: вы должны (повторно) разобрать форму, чтобы получить рабочую ненавязчивую проверку
Здесь вы найдете полную JQuery Dialog основанную форму, которая работает с ненавязчивой проверкой и фокусирует строку $.validator.unobtrusive.parse(form); Эта сила не требует анализа элементов управления, добавленных ajax.
Посмотрите $.fn.jqDialogFunction в JQuery общем ящике инструментов
$.fn.jqDialogFunction = function (idDiv, titre, okFunction, openFunction) {
var dialogBox = $(idDiv)
//$(dialogBox).removeClass("notDisplayed");
$(dialogBox).hide();
$(dialogBox).dialog({
title: titre,
autoOpen: false,
resizable: false,
modal: true,
minHeight: 450,
minWidth: 800,
open: openFunction,
buttons: [
{
text: "Ok",
click: okFunction
}
,
{
text: "Cancel",
click: function () {
$(this).dialog("close");
}
}
]
});
var form = dialogBox.find("form");
if (form != null) {
$.validator.unobtrusive.parse(form);
}
$(idDiv).dialog('open');
}
Затем Посмотрите метод $.fn.SaveContent → $( "# divStructurePage" ). parent(). appendTo (form);
$.fn.SaveContent = function () {
$(this).dialog("close");
var content = tinyMCE.activeEditor.getContent();
$("#hidNewContent").val(content);
var v = $("#StructurePage_FK_LayoutMenu_Translation").val();
var form = $("#frmManagedContent");
$("#divStructurePage").parent().appendTo(form);
form.attr("action", "/"+ $("#hidControllerName").val() +"/Save/" + v);
form.submit();
}