2009-12-05 6 views
0

Quelqu'un a utilisé ce plugin jquery pour la validation de formulaire?Plugin de validation de jquery

http://docs.jquery.com/Plugins/Validation

je ne peux pas comprendre comment l'utiliser. il ne dit rien dans la documentation comment nommer les éléments du formulaire html pour le faire fonctionner avec la méthode validate().

et la question n ° 2, quelle validation de classe php est là pour utiliser côté serveur?

EDIT: pourquoi ce travail ne marche pas:

$("#register_box_form").validate({ 
    rules: { 
     name: { 
      required: true, 
      minlength: 3 
     } 

     email: { 
      required: true, 
      minlength: 3, 
      email: true 
     } 
    } 
}); 
+0

??Avez-vous vraiment lu toute la documentation et essayé les démos (+ sourcecode) sur la page du plugin http://jquery.bassistance.de/validate/demo/ et tous à la fin de cette page. Je ne comprends même pas ce que vous entendez par «comment nommer les éléments du formulaire», ils n'ont pas besoin de nom spécial. Découvrez les démos et revenez avec une question plus spécifique lorsque vous avez essayé quelques petites choses. Comment vous faites votre côté serveur est à vous. Comment cela se rapporte-t-il à jQuery – jitter

+0

apparemment je dois ajouter quelques valeurs d'id prédéfinies et des valeurs de classe à mes éléments de formulaire, par exemple. cela le fera fonctionner avec le plugin et il validera automatiquement le champ email. mais je sais cela en regardant dans un exemple de code. Quels sont les autres "métatags" que je dois utiliser pour le faire fonctionner avec un mot de passe, des champs de téléphone, etc. où est la documentation pour cela? –

Répondre

1

<input type="text" id="email" name="email" class="required email" />, dans ce code, les valeurs de l'attribut de classe « nécessaire » et « email » agir même que les règles définissent la méthode de validation dans le document fonction prêt. Cela signifie que class="required email" est égal à,

email: { 
      required: true, 
      email: true 
     } 

dans l'exemple ci-dessus. Je vais dire quelles sont les étapes nécessaires pour inclure la validation jquery. (vous pouvez déjà connaître chaque étape) A utiliser jquery validtion, Vous devez d'abord inclure le fichier js de la bibliothèque jquery principale et le fichier js de validation jquery. Ensuite, sur le document sur la fonction prêt, vous devez lier la fonction de validation à la forme requise (comme mentionné dans l'exemple ci-dessus). Vous pouvez déclarer des règles de validation dans cette fonction de validation ou en tant que valeurs pour l'attribut de classe de l'élément d'entrée pertinent comme je l'ai décrit ci-dessus. Parfois, j'ai des problèmes lorsque j'utilise des valeurs différentes pour l'attribut id et l'attribut name pour les éléments d'entrée. Je ne connais pas la raison de cela. Donc, essayez de donner les mêmes valeurs pour les attributs id et name et vérifiez si la validation still ne fonctionne pas.

Vous pouvez utiliser des règles de validation déjà incluses telles que email, url, nombre, chiffre etc. et aussi une règle appelée "remote" qui peut être utilisée pour envoyer une requête ajax et faire une validation côté serveur. En plus de cela, vous pouvez définir des règles personnalisées en fonction de vos besoins. Par exemple, j'ai utilisé le code suivant pour ajouter une règle de validation personnalisée afin de garantir que les mots de passe sont dans la stratégie de mot de passe correcte.

$.validator.addMethod("passwd_policy", function(value, element, param) { 
     return this.optional(element) 
      || (value.length >= 8 
       && /.[!,@,#,$,%,^,&,*,?,_,~]/.test(value) 
       && /[0-9]/.test(value) 
       && /[a-z]/.test(value) 
       && /[A-Z]/.test(value)); 
    },"Your password must be at least 8 characters long, <br/>contain at least one number, <br/>" 
     +" at least one special character (!,@,#,$,%,^,&,*,?,_ ,~),<br/> at least one uppercase" 
     +" character <br/>and at least one lowercase character."); 

Vous pouvez ajouter cette méthode de validation personnalisée pour valider un champ de la même façon que pour les méthodes intégrées. c'est comme

"txt_passwd": { 
     passwd_policy: true 
    }, 
+0

Merci pour cette réponse. La documentation n'est pas très claire sur la façon d'utiliser une méthode de règle personnalisée dans une liste de règles composées, ce qui l'a totalement effacée. – Steven

0

Vous spécifiez les règles pour les champs du formulaire. Ce sont des paires clé/valeur où la clé est le nom du champ.

E.g. un formulaire avec les champs nom et email (de la documentation à http://docs.jquery.com/Plugins/Validation/validate#options)

$(".selector").validate({ 
    rules: { 
    // simple rule, converted to {required:true} 
    name: "required", 
    // compound rule 
    email: { 
     required: true, 
     email: true 
    } 
    } 
}) 

Vous pouvez utiliser la Zend Framework pour la partie php. Il a quelques JQuery integration, mais pas pour le plugin Validation (encore?).

edit: Dans votre exemple, il manque une virgule entre les deux éléments du littéral de vos règles.

<html> 
    <head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $("#register_box_form").validate({ 
      rules: { 
      name: { 
       required: true, 
       minlength: 3 
      }, 
      email: { 
       required: true, 
       email: true 
      } 
      } 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
    <form method="post" action="?" id="register_box_form"> 
     <div> 
     <input type="text" name="name" /><br /> 
     <input type="text" name="email" /><br /> 
     <input type="submit" /> 
     </div> 
    </form> 
    </body> 
</html> 
+0

Je n'utilise pas le framework zend. Y at-il une classe de validation php autonome que je peux télécharger et utiliser pour valider de la même manière que ce plugin jquery? est ce plugin jquery le meilleur? –

+0

Vous n'avez pas besoin d'utiliser tout le framework pour rendre la partie forms disponible. Mais peut-être http://docs.php.net/filter est quelque chose pour vous. – VolkerK

Questions connexes