Knockout-Mapping-Validierung
Ich versuche, einer zugeordneten Ansicht eine Validierung hinzuzufügen. Ich verwende Knockout-Mapping- und Validierungs-Plugins. Pseudomodelle:
Person {
int Id;
string Name;
Book[] Books;
}
Book {
int Id;
string Name;
}
Javascript:
function viewModel() {
var self = this;
self.persons = ko.observableArray();
// persons are retrieved via AJAX...
ko.mapping.fromJS(persons, {}, self.persons);
}
jQuery(function( $ ) {
ko.applyBindings(new viewModel());
});
Wie kann ich das beobachtbare Array von Personen erweitern, um Validierungsregeln und -nachrichten festzulegen? Ich muss die Sub-Array-Eigenschaften von Personen und Büchern validieren. Ich habe nur Beispiele gefunden, die explizite Modelleinstellungen ohne automatische Zuordnung verwenden, etwa:
Name: ko.observable().extend({ required: true })
Dann muss ich ko.validatedObservable, isValid und validation.init setzen, aber ich weiß wirklich nicht, wie ich damit umgehen soll. Können Sie uns bitte helfen?