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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage