Как получить Ошибка ModelState.AddModel для привязки к нокауту динамически созданных диапазонов проверки?

Я настроил Knockoutjs для динамического создания редактируемого списка значений, используя следующий код:

       var requirementModel = function() {
        var self = this;
        self.requirementtypes = ko.observableArray(@Html.Interpret(Model.requirementtypes));
        self.requirementid = ko.observable(@Html.Interpret(Model.requirementid));
        self.AddRequirementType = function() {
            self.requirementtypes.push({
                requirementtypeid: null,
                number: "",
                requirementid: 0
            });
        };
        self.RemoveType = function(Type) {
            self.requirementtypes.remove(Type);
        };
        self.hookUpValidation = function() {
            $.validator.unobtrusive.parseDynamicContent('.dynamicData');
        };
    };
    var viewModel = new requirementModel();
    ko.applyBindings(viewModel);

С помощью HTML:

 <div class="small-box dynamicData"  data-bind="template:{ name: 'requirementType-template', foreach: requirementtypes, afterRender:$root.hookUpValidation }" ></div>
<button data-bind='click: AddType'>Add Type</button>

Я подключил проверку для динамических данных, используя код, рекомендуемый напереполнение стека.

Когда я отправляю сообщение обратно на сервер (я не использую JSON, просто отправляю сообщение), я могу выполнить более сложную проверку и, если что-то не получается, я могу использовать ModelState.AddModelError («имя поля ввода», «мне жаль дурака, который это сломал») ); Это прекрасно работает либо со строго типом, либо с @ Html.ValidationMessage («имя входного поля») для не динамических полей.

Однако я не могу найти способ подключить Ошибка модели на стороне сервера к динамическому контенту.

У меня есть теги span, которые работают на стороне клиента, и они работают отлично. Однако они не попадают в данные, возвращаемые после сбоя проверки на стороне сервера и возврата страницы. Есть идеи, как этого добиться?

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос