Как связать ошибки 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>
Большое спасибо