Message d'Erreur personnalisé Texte avec Jquery Valider Plugin
Besoin de copier le message d'erreur Personnalisé du texte à partir d'une période où le texte est à venir à partir de CMS. Il est fondamentalement un besoin de montrer une coutume localisée message d'erreur.
Code fonctionne lorsque vous soumettez le formulaire, mais dès que vous cliquez à l'extérieur, le message par défaut de remplacer le personnalisé.
HTML
<form name="form-core" id="form-core" method="post" action="" role="search" novalidate="novalidate">
<label for="keywords">Hello</label>
<input type="text" id="keyword" name="keyword" class="required" />
<span class="error-message-required">Ce champ est obligatoire</span>
<input type="submit" /><input class="cancel" type="submit" value="Reset" />
</form>
JS
$('#form-core').validate({
debug: false,
onfocusout: function (element) { jQuery(element).valid() },
errorElement: "div",
errorPlacement: function (error, element) {
jQuery('div[for=' + error.attr('for') + ']').remove();
error.text($(element).next('.error-message-required').text());
error.insertBefore(element);
}
});
- Essayez de supprimer ces lignes de JS jQuery(élément).valide()
- essayé, mais ensuite, lorsque vous entrez un caractère et supprimez-le de nouveau. Dafult texte du message d'erreur vient de nouveau de l'image
- Veuillez supprimer message d'erreur à partir du modèle de la propriété.
- il n'y a rien de mal avec
jQuery(element).valid()
à l'intérieur de sononfocusout
fonction de rappel. Il s'agit simplement de déclenchement instantané de validation sur l'objet avant de le soumettre bouton pour l'activer. - stackoverflow.com/questions/16681406/...
Vous devez vous connecter pour publier un commentaire.
Il ne fonctionne pas de la manière que vous souhaitez parce que la
errorPlacement
fonction de rappel n'est pas lancé à chaque erreur. C'est seulement tiré sur la première occurrence de l'erreur, puis automatiquement le plugin affiche/masque la nouvelle erreur élément qui il créé par lui-même.1) je pense que vous êtes en rendant les choses plus compliquées qu'elles ne devraient l'être. Il suffit de spécifier votre message d'erreur personnalisé à l'intérieur de la
.validate()
fonction d'initialisation. Supprimer la<span></span>
à partir de votre code HTML/CMS et de laisser le plugin poignée-ce la façon dont il a été conçu.2) Encore une fois, laissez-le plugin faire son travail. Changer votre
errorPlacement
fonction de callback à ceci:3) Changer votre bouton de réinitialisation pour
type="reset"
, de sorte qu'il n'est pas de la soumission du formulaire:De travail de DÉMONSTRATION: http://jsfiddle.net/wQaYw/
jQuery:
MODIFIER:
Si, pour quelque raison que ce soit, vous ne pouvez pas supprimer le
span
de votre CMS et de déclarer les messages personnalisés à l'intérieur de.validate()
, vous avez une autre option.Utiliser le built-in
règles('ajouter')
méthode de modifier dynamiquement la valeur par défaut des messages pour chaqueinput[type="text"]
, avec unrequired
règle, sur l'ensemble du formulaire comme suit. (Cependant, avec cette méthode, vous doit fournir un message personnalisé pour chacun de ces éléments, car cela permettra d'emporter tous.)après cette...
De travail de DÉMONSTRATION: http://jsfiddle.net/6Vzdz/