Ich habe eine Ansicht Modell als solche: aberLöschen oder Zurücksetzen einer bestätigten Knockout-Validierung?
var prop1 = ko.observable().extend{ required: true },
prop2 = ko.observable().extend{ required: true };
var validation = ko.validatedObservable([prop1, prop2]);
function resetFields() {
prop1(undefined);
prop2(undefined);
}
var vm = {
prop1: prop1,
prop2: prop2,
validation: validation,
reset: resetFields
};
Die Eigenschaften PROP1 und prop2 werden über die validatedObservable korrekt validiert, wenn ich resetFields ausführen, diese Eigenschaften dann Fehler auf sie haben, da sie geändert habe und sind erforderlich.
Gibt es eine Möglichkeit, die validierten beobachtbaren zurückgesetzt, als ob es sich nicht geändert worden wäre?
Update: Ich war Sourcing knockout.validation von NuGet und mit v1.0.1
Diese Lösung aber nicht in allen Fällen funktionieren kann: die 'showAllMessages (false)' nur setzt das 'isModied' Observablen auf false die jedoch entfernt in den Fehlermeldungen führt ** es das Prüfungsergebnis nicht ** nicht löschen. Also bleibt 'isValid()' 'false':' vm.reset(); console.log (vm.validation.isValid()); // Ausgabe: false vm.validation.errors.showAllMessages (false) console.log (vm.validation.isValid()); // Ausgabe: false' http://jsfiddle.net/CjsCS/ – nemesv