¿Cómo obtengo el Error ModelState.AddModel para vincular a los intervalos de validación creados dinámicament
He configurado Knockoutjs para crear dinámicamente una lista editable de valores usando el siguiente código:
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);
Con 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>
He conectado la validación para datos dinámicos utilizando el código recomendado endesbordamiento de pil.
Cuando publico de nuevo en el servidor (no estoy usando JSON, solo form post) puedo hacer una validación más compleja y si algo falla puedo usar ModelState.AddModelError ("nombre del campo de entrada", "Me da pena el tonto que rompió esto "); Esto funciona perfectamente con cualquier tipo o @ Html.ValidationMessage ("nombre de campo de entrada") para campos no dinámicos
Sin embargo, no puedo encontrar una manera de conectar el Error del modelo del lado del servidor al contenido dinámico.
Tengo las etiquetas span que funcionan con el lado del cliente y funcionan perfectamente. Sin embargo, no se enganchan en los datos devueltos después de que la validación del servidor falla y devuelve la página. ¿Alguna idea de cómo lograr esto?
Gracia