Я установил 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:
Я подключил проверку для динамических данных, используя код, рекомендованный на переполнение стека .
Когда я отправляю сообщение на сервер (я не использую JSON, просто формирую сообщение), я могу выполнить более сложную проверку, и если что-то не удается, я могу использовать ModelState.AddModelError («имя поля ввода», «Мне жаль дурака, который сломал это "); Это отлично работает либо с строгим типом, либо с @ Html.ValidationMessage («имя поля ввода») для нединамических полей
Однако я не могу найти способ привязать ошибку модели на стороне сервера к динамическому контенту.
У меня есть теги span, которые работают на стороне клиента, и они работают отлично. Однако они не подключаются к данным, возвращаемым после сбоя проверки на стороне сервера и возврата страницы. Есть идеи, как этого добиться?
Спасибо