De knock-out de la validation de la vérification des erreurs

J'ai un coup de formulaire qui est composé de 2 parties. Lorsque la première partie est remplie, la seconde partie est cachée. À la fin de la première partie et en cliquant sur "Continuer", la première partie est alors caché et la deuxième partie est montré. Je veux être en mesure de valider la première série d'entrées, et si il n'y a pas des erreurs, puis continuer à la prochaine partie.

J'ai trouvé cette sur la page github qui je c'est ce que j'essaie de faire.

Quand je le fais aucune erreur n'est détectée. Il continue à la deuxième partie

function ReserveViewModel(){

    self.firstName = ko.observable("").extend({ required: true });

    self.continue = function(){
        var errors = ko.validation.group([ReserveViewModel.firstName]);
        if (errors.length == 0) {
            //display  second div
        }
        else{
             self.errors.showAllMessages();
        }
    }
}

Cependant, si je fais cela, il fonctionne, mais essaie de valider le tout. Depuis le deuxième ensemble de données sont vides, il se contente d'être là.

self.continue = function(){
    self.errors = ko.validation.group(self);
    if (self.errors().length == 0) {

    }
    else{
        self.errors.showAllMessages();
    }
}
  • Donc, si vous le faites de la première manière, il fonctionne comme vous l'intention qu'il - pourquoi voudriez-vous utiliser la deuxième façon? Pourquoi ne pas simplement utiliser deux modèles de vue et ont deux groupes de règles de validation?
  • Je ne suis pas sûr que je comprends ce que tu veux. Soit je n'obtenez pas de validation ou de validation avec ce que j'ai indiqué. Je suppose que j'ai pu créer deux modèles de vue, je n'ai jamais pensé de cette façon. Peu importe, je suis encore confus quant à pourquoi je ne peux pas obtenir mon exemple au travail, lorsqu'il est indiqué dans la documentation.
  • Quand j'ai lu votre question, il n'était pas encore clair pour moi pourquoi le premier ne fonctionnait pas.
InformationsquelleAutor user1852176 | 2013-10-16