2012-07-31 12 views
18

Estoy tratando de usar KnockoutValidation con instrucciones condicionales. Ver código a continuación:KnockoutValidation y la regla condicional requerida

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

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

Lamentablemente esto no funciona. Quiero tener ConditionalField solo se requiere si transactionType tiene el valor 'Option2'.

¿Cuál es la mejor manera de usar la validación condicional con knockout.validation.js?

Respuesta

37

Lo he resuelto.

En primer lugar, cometí el error de declarar el transactiontype después de haber definido el conditionalfield. El código de finalización funciona así:

+8

Bueno, se ha dicho que Thomas Edison tuvo 3000 intentos fallidos antes de que él inventara la primera luz incandescente comercialmente práctica. http://en.wikipedia.org/wiki/Thomas_Edison#cite_note-28, pero creo que tu respuesta es tan esclarecedora ... gracias y + 1 –

+2

Lamentablemente, esto solo si las cosas no están documentadas en ninguna parte. ¡Gracias! –

+2

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

Cuestiones relacionadas