2009-10-16 6 views
46

J'utilise jQuery Valider, mais je ne veux vraiment pas avoir de messages d'erreur que ce soit. Au contraire, j'ai besoin d'avoir des boîtes rouges autour des entrées offensantes/sélectionne/etc. Ces boîtes rouges étaient un morceau de gâteau à ajouter, mais je ne peux toujours pas supprimer les messages d'erreur eux-mêmes. Comment les désactiver complètement?jQuery Validation - Masquer les messages d'erreur de validation d'affichage/Afficher les erreurs personnalisées

Répondre

127

utiliser une fonction de placement d'erreur personnalisée (voir options de plugin) qui ne rajoutez pas un message d'erreur à quoi que ce soit. Ou vous pourriez mettre les messages d'erreur ailleurs sur la page - disons dans un DIV en haut de la page.

+0

Merci, trouvé cette réponse tout en ayant le même problème :) – Agos

+1

@tvanfosson, Il est OK d'utiliser CSS comme ceci: 'label.error {display: none! Important;}' – Mori

+2

@RainLover Cela ne remplacerait aucun styles définis directement sur l'élément. Je devrais regarder pour voir comment le plugin fait normalement l'affichage. Si elle est tout à fait fondé classe cela fonctionnerait, mais si elle utilise afficher/cacher alors il ne serait pas. Cela vous forcerait également à utiliser une solution globale (en supposant une seule feuille de style à l'échelle du site). – tvanfosson

9

Vous pouvez remplacer la fonction showErrors:

jQuery('form').validate({ 
    showErrors: function(errorMap, errorList) { 
     // Do nothing here 
    }, 
    onfocusout: false, 
    onkeyup: false, 
    rules: { 
     email: { 
      required: true 
     } 
    }, 
    messages: { 
     email: { 
      required: 'The email is required' 
     } 
    } 
}); 
+0

Est-ce pas éliminer l'élément en mettant en lumière? – tvanfosson

+3

@tvanfosson: Oui, il fait en réalité. –

+0

merci pour onfocusout et onKeyUp! – user3560988

6

Voici comment je le fais. Il suffit de mettre $.validator.messages.required = ''; avant votre appel à l'initialisation validate() i.e. .:

$.validator.messages.required = ''; 
$('#formData').validate({});` 

vous risquez de rendre les styles montrer sur les entrées, mais pas d'étiquettes de message!

+0

solution parfaite –

Questions connexes