2012-08-31 4 views
4

Je suis en train d'intégrer la validation de knock-out et bootstrap twitter dans cet éditeur: http://jsfiddle.net/casudeo/Jbp7y/18Validation Knockout et Twitter Bootstrap Erreur CSS

Je voudrais appliquer la css bootstrap twitter pour les erreurs d'entrée. Pour ce faire, je devrais en quelque sorte «monter» à la div du groupe de contrôle et ajouter une classe «erreur» à celui-ci. Y at-il un moyen d'y parvenir sans modifier les fichiers CSS?

Clarification supplémentaire en raison du commentaire de dominik ci-dessous: 1) Cliquez sur le bouton "Ajouter" pour ajouter un nouvel article. 2) Essayez d'enregistrer avec des valeurs vides. 3) La validation KO interceptera les entrées invalides. Cependant, je voudrais aussi appliquer une classe css "error" pour mettre en évidence les champs invalides.

+0

Je ne vois pas le lien entre votre problème twitter-bootstrap et cette liste de Jim et Bob ... s'il vous plaît soyez plus précis. – dokaspar

Répondre

7

Voici un violon mis à jour: http://jsfiddle.net/jearles/Jbp7y/147/

HTML

<div><button data-bind="click: clickMe">Click Me!</button></div> 

JS

var ViewModel = function() { 
    var self = this; 
    self.clickMe = function(data,event) { 
     var target; 

     if (event.target) target = event.target; 
     else if (event.srcElement) target = event.srcElement; 

     if (target.nodeType == 3) // defeat Safari bug 
     target = target.parentNode; 

     target.parentNode.innerHTML = "something"; 
    } 
} 

ko.applyBindings(new ViewModel()); 

Les choses que je changé:

  1. ajouter des liaisons 'validationElement' au contrôle -group divs
  2. Ajouter un appel à « showAllMessages() » lorsque des erreurs sont détectées
  3. vérifier que la configuration errorElementClass est réglé sur « erreur »
+0

Merci beaucoup. Cela fonctionne très bien. – user1590749

+0

C'est parfait! Fonctionne très bien! Existe-t-il un moyen facile d'ajouter la classe d'amorçage "succès" quand un élément passe la validation? Cela rendrait le champ "vert" lorsque l'utilisateur a rempli les règles sur ce champ. –