Comment faire pour afficher des messages à partir de jQuery Valider plugin à l'intérieur de Tooltipster info-bulles?
Je voudrais utiliser le Tooltipster plugin pour afficher les erreurs de forme générée par le jQuery Valider plugin.
jQuery pour Valider plugin:
$(document).ready(function () {
$('#myform').validate({ //initialize jQuery Validate
//other options,
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
}
});
});
jQuery pour Tooltipster plugin:
$(document).ready(function () {
$('.tooltip').tooltipster({ /* options */ }); //initialize tooltipster
});
HTML:
<form id="myform">
<input type="text" name="field1" />
<input type="text" name="field2" />
<br/>
<input type="submit" />
</form>
Comment pourrais-je intégrer l'utilisation de ces deux plugins jQuery, afin que la validation des erreurs apparaissent dans les info-bulles?
Vous devez vous connecter pour publier un commentaire.
Solutions pour Tooltipster les versions 2.1, 3.0, & 4.0 sont inclus dans cette réponse.
NOTE que
.tooltipster()
est uniquement lié à untype="text"
input
élément dans mes exemples ci-dessous. Si votreform
contient d'autres types de données d'entrée des éléments tels quetype="radio"
,type="date"
,textarea
,select
, etc., ensuite, vous doit régler le sélecteur en conséquence ou en créer d'autres instances de.tooltipster()
pour ces autres éléments. Sinon, tout échoue avec des erreurs.Tooltipster v2.1
Tout d'abord, initialisez le Tooltipster plugin (avec toutes les options) sur tous spécifiques
form
éléments des erreurs d'affichage:Deuxièmement, l'utilisation Tooltipster advanced options avec le
succès:
eterrorPlacement:
fonctions de rappel intégré dans le Valider plugin automatiquement afficher et de masquer les info-bulles comme suit:De Travail De Démonstration: http://jsfiddle.net/2DUX2
MODIFIER: mise à Jour de code pour profiter de la nouvelle Tooltipster fonctionnalités de l'API de sortir en version 2.1 sur 2/12/13
Mise à JOUR pour Tooltipster v3.0
Tooltipster 3.0 est sorti et en tant que tel ne fonctionne pas de la même comme illustré ci-dessus. Le code suivant fournit une mise à jour de l'exemple. Cette version a l'avantage de ne pas appeler Tooltipster sur chaque frappe de touche lorsque le message n'a pas encore changé.
(N'oubliez pas que vous devez toujours joindre
.tooltipster()
à votreinput
éléments comme illustré ci-dessus.)De DÉMONSTRATION à l'aide de Tooltipster v3.0: jsfiddle.net/2DUX2/3/
Mise à JOUR pour Tooltipster v4.0
Noter que le
onlyOne
option a été supprimée de la version 4.0 du Tooltipster plugin.J'ai aussi remplacé la
success
rappel avecunhighlight
. Sur "option" champs, le message d'erreur n'a jamais été supprimées lorsque le terrain a ensuite été masquée... c'est parce que lesuccess
fonction ne se déclenche pas dans ces circonstances. Ce problème n'est pas isolé dans Tooltipster version 4, cependant le code suivant résout aller de l'avant.De DÉMONSTRATION à l'aide de Tooltipster v4.0: https://jsfiddle.net/h5grrrr9/
$('selector').tooltipster();
avec sélecteur de type et de sélecteur de classe(voir la classetooltip
), mais aucune de ces approches n'a fonctionné 🙁hover
, ne pas trop rouler aveccustom
. Ensuite, regardez comment/oùopen
etclose
sont mis en œuvre ci-dessus, et de ne pas le faire non plus. Il suffit de l'essayer.Sparky la réponse a été un aliment de base sur mon site de validation, mais la mise à niveau vers Tooltipster 4 a nécessité quelques modifications. Voici comment j'ai eu le mien de travail, et avec quelques améliorations.
Sur vos pages, d'inclure le tooltipster css et css du thème dans la section de tête (et de toute css du thème que vous sous-classe de leurs thèmes avec comme décrit sur sa page).
En outre, vous devez inclure tooltipster du fichier javascript. Vous aurez également besoin de jquery de validation javascript.
Maintenant, soit dans un autre fichier javascript ou dans certaines balises de script, vous aurez besoin de mettre votre code de validation ainsi que votre tooltipster code. En voici un, à partir d'une page web que j'ai, les changements de Sparky réponse sont au top.
Maintenant, lorsque vous tapez quelque chose dans un champ qui enfreint l'une des règles énumérées, une fenêtre surgit au-dessus de la zone de dire ce que jquery-valider dit est faux. Il ne sera pas ouvrir un message si il n'y a rien en elle de montrer à l'utilisateur (qui devrait conduire à l'ouverture d'un vide d'info-bulle, puis immédiatement à la clôture, ce qui semble bizarre).
error[0].innerHTML
quand vous pouvez juste regarder$(error).text()
?success
, sivar obj = $(element)
, alors pourquoi ne pas utiliserobj.tooltipster('close')
?onlyOne
option a été supprimée de Tooltipster.tooltipsered
ouerror
classes lorsque vous n'êtes pas conditionnellement vérification pour des choses similaires dans leerrorPlacement
fonction.type="text"
éléments afin d'ajuster la vôtre en conséquence.