Как связать ошибки ko.validation с соответствующими именами полей viewmodel

я использую Knockout.Validation и яхотелось бы иметь возможность отображать сводку ошибок, где каждая строка отображает сообщение об ошибке (очевидно!), а также имя поля в модели представления, связанной с ним, например,

Возраст - пожалуйста, введите номерДата рождения - пожалуйста, введите правильную дату

Пока яя получил validatedObservable, обертывающий мою модель представления, и это автоматически помещает массив ошибок в мою модель представления, содержащий все мои ошибки. Однако я могуНет простого способа узнать, к какому полю относится каждая ошибка.

Я знаю, что мог бы самостоятельно пройти модель представления, создав собственную коллекцию ошибок из свойства isValid - хотя это единственный вариант?

После того, как у меня есть имя поля, я могу сопоставить свое резюме проверки с соответствующим "дружелюбный" метка для этого поля (например, "Дата рождения" скорее, чем "Дата рождения").

Вот's упрощенная версия кода, который у меня есть:

ViewModel

function PersonModel(){
   var self = this;
   self.Age = ko.observable().extend({ number: true});

   self.DateOfBirth = ko.observable({ date: true});             
   self.Validate = function() {                           
       if (!self.isValid()) {                                         
          self.errors.showAllMessages();        
          return false;          
       }
       return true;
    };    

ko.validation.init({
                grouping: { deep: true, observable: true },
                registerExtenders: true,
                messagesOnModified: true,
                insertMessages: true
            });

ko.applyBindings(ko.validatedObservable(new PersonModel()));

Html


    
           <span data-bind="text:  $data"></span>
    

Большое спасибо

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

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