Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis en train de galérer avec Zend_Dojo, et je n'arrive désespérement pas à faire ceci:
Lorsqu'on quitte un champ (blur) et que se champ n'est pas rempli de façcon valide, celui ci devient jaune avec un petit icone /!\. J'aimerais aussi que la bulle avec un message du genre ('votre champ est invalide..') apparaisse.
J'arrive à faire apparaitre celle du 'prompt' (lorsqu'on focus sur le champ, le message du genre 'veuillez indiquer votre...') apparait.
Bref ma question : comment faire apparaitre (et laisser affiché tant que le champ n'est pas correct), l'infobulle qui indique qu'il y a une erreur.
ci-dessous, mon code :
$nom=new Zend_Dojo_Form_Element_ValidationTextBox('nomcategorie'); $nom ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty') //on ajoute le validateur not empty ->setRequired(true) //le champ est obligatoire ->setInvalidMessage("La catégorie doit comporter un nom.") //message quand champ invalide ->setPromptMessage("Entrez un nom de catégorie")//message 'd'accueil' ->setLabel("Nom catégorie :") ->setPropercase(true); ;
Par avance, merci bien.
Hors ligne
Personne n'utilise les infos bulles des champs avec zend_dojo?
Hors ligne
Salut,
Moi j'utilise ca,
dojo.addOnLoad(function () { dojo.connect(dijit.byId("monForm"), "onSubmit", "validateForm"); } ); function validateForm() { var form = dijit.byId("monForm"); if (!form.validate()) { alert("Les informations saisies sont invalides"); return false; } return true; }
Ca affiche un message alert et affiche tous ce qui n'est pas valide dans ton form. Par contre ca n'affiche que la première bulle en erreur. Tu devrais pouvoir faire un foreach de tous tes élements form et afficher ta bulle d'erreur.
Hors ligne
Bonjour et merci pour la réponse, je ne sais pas trop comment l'exploiter vu que je n'utilise pas ce genre de fonctions, mais je vais essayer de trouver un lien avec Zend_Dojo et les motes clés comme "connect", "validateForm", etc..merci.
Hors ligne
Tu ne peux pas gérer directement dans le Zend Framework.
Il faut absolument que tu ajoutes des scripts dojo pour faire le controle dans ta page.
ajoute simplement le code dans ta page en mettant le nom de ton form à la place de monForm et tu auras tous les controles définis dans ton form validé par dojo avant le post.
<script> dojo.addOnLoad(function () { dojo.connect(dijit.byId("monForm"), "onSubmit", "validateForm"); } ); function validateForm() { var form = dijit.byId("monForm"); if (!form.validate()) { alert("Les informations saisies sont invalides"); return false; } return true; } </script>
Hors ligne
Pages: 1