2012-07-31 5 views
18

Ich versuche, KnockoutValidation mit bedingten Anweisungen zu verwenden. Siehe Code unten:KnockoutValidation und die bedingte erforderliche Regel

self.transactionType = ko.observable('Option1'); 

self.ConditionalField = ko.observable().extend({ 
    required: true, 
    onlyIf: self.transactionType = ="Option2" 
}); 

Leider funktioniert das nicht. Ich möchte nur benötigt, wenn transactionType Wert 'Option2' hat.

Was ist der beste Weg, bedingte Validierung mit knockout.validation.js zu verwenden?

Antwort

37

Ich habe es gelöst.

Zuerst machte ich den Fehler, die transactiontype zu deklarieren, nachdem ich die conditionalfield definiert hatte. Der Endcode, der funktioniert, sieht so aus:

+8

Nun, es wurde gesagt, dass Thomas Edison 3000 fehlgeschlagene Versuche hatte, bevor er das erste kommerziell praktische Glühlampenlicht erfand. http://en.wikipedia.org/wiki/Thomas_Edison#cite_note-28, aber ich finde Ihre Antwort, um nur so aufschlussreich zu sein ... Danke & + 1 –

+2

Leider ist dieses onlyIf Zeug nirgendwo dokumentiert. Vielen Dank! –

+2

[onlyIf Dokumentation] (https://github.com/Knockout-Contrib/Knockout-Validation/wiki/Conditional-Validation-with-onlyIf-parameter) – Homer

Verwandte Themen