Changeset 147
- Timestamp:
- 05/20/08 21:12:53 (5 months ago)
- Location:
- javascript/mootools_1.1.x/verif_form
- Files:
-
- 2 modified
-
verif_form.js (modified) (1 diff)
-
verif_form.src.js (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
javascript/mootools_1.1.x/verif_form/verif_form.js
r133 r147 1 function verifForm( H,G,D,B){this.form2Verif=H;this.btnSubmit=G;this.addMessageAfter=D;this.formMsgError=B;this.valid=true;this.msgError=new Array();this.initialize=function A(){this.btnSubmit.addEvent("click",function(I){I=new Event(I);this.msgError=new Array();this.valid=true;if($("error_list")){$("error_list").remove()}this.isRequired();this.isMail();this.submit(I)}.bind(this))};this.isRequired=function F(){var I=$ES(".required",this.form2Verif);I.each(function(J){if(J.value==""){this.valid=false;J.addClass("error");this.msgError[this.msgError.length]=J.id+"_EMPTY"}else{J.removeClass("error")}}.bind(this))};this.isMail=function C(){var I=$ES("input.email",this.form2Verif);I.each(function(J){if(J.value!=""){if(!J.value.test("^(.+)@(.+)\\.(.+)")){this.valid=false;J.addClass("error");this.msgError[this.msgError.length]=J.id+"_NOTMAIL"}else{J.removeClass("error")}}}.bind(this))};this.submit=function E(I){if(this.valid==false){ul_error=new Element("ul");ul_error.setProperty("id","error_list");ul_error.injectAfter(this.addMessageAfter);this.msgError.each(function(K,J){li=new Element("li",{});ul_error.adopt(li);li.setText(this.formMsgError.get(K))});I.stop();document.location.href="#top_message"}}};1 function verifForm(params){this.params=params;this.form2Verif=this.params.get("form2Verif");this.btnSubmit=this.params.get("btnSubmit");this.addMessageHere=this.params.get("addMessageHere");this.formMsgError=this.params.get("formMsgError");this.valid=true;this.msgError=new Array();this.init=function init(){this.fbConsole("info","verifForm initialized");this.btnSubmit.addEvent("click",function(e){this.msgError=new Array();this.valid=true;if($("error_list")){$("error_list").remove()}this.isRequired();this.isMail();this.isSameMail();this.isSamePassword();this.isChecked();this.hookTest();this.submit(e)}.bind(this))};this.isRequired=function isRequired(){var inputIsRequired=$ES(".required",this.form2Verif);inputIsRequired.each(function(input){if(input.value==""){this.inputError(input,"EMPTY")}else{input.removeClass("error")}}.bind(this))};this.isMail=function isMail(){var inputIsMail=$ES("input.email",this.form2Verif);inputIsMail.each(function(input){if(input.value!=""){if(!input.value.test("^(.+)@(.+)\\.(.+)")){this.inputError(input,"NOTMAIL")}else{input.removeClass("error")}}}.bind(this))};this.isSameMail=function isSameMail(){var inputIsSameMail=$ES("input.confirmEmail",this.form2Verif);if(inputIsSameMail.length==2){if(inputIsSameMail[0].value.clean()!=inputIsSameMail[1].value.clean()){inputIsSameMail[0].addClass("error");this.inputError(inputIsSameMail[1],"NOTSAMEMAIL")}else{inputIsSameMail[0].removeClass("error");inputIsSameMail[1].removeClass("error")}}};this.isSamePassword=function isSamePassword(){var inputIsSamePassword=$ES("input.confirmPassword",this.form2Verif);if(inputIsSamePassword.length==2){if(inputIsSamePassword[0].value.clean()!=inputIsSamePassword[1].value.clean()){inputIsSamePassword[0].addClass("error");this.inputError(inputIsSamePassword[1],"NOTSAMEPAWD")}else{inputIsSamePassword[0].removeClass("error");inputIsSamePassword[1].removeClass("error")}}};this.isChecked=function isChecked(){var inputIsChecked=$ES(".checked",this.form2Verif);inputIsChecked.each(function(input){if(!input.checked){this.inputError(input,"NOTCHECKED")}else{input.removeClass("error")}}.bind(this))};this.hookTest=function hookTest(){this.fbConsole("warn","No hookTest")};this.hookSubmit=function hookSubmit(){this.fbConsole("warn","No hooksubmit")};this.inputError=function inputError(input,suffix){this.valid=false;input.addClass("error");if(input.id!=""){this.msgError[this.msgError.length]=input.id+"_"+suffix}else{this.fbConsole("warn","No id for input")}};this.fbConsole=function fbConsole(type,msg){if(typeof console!="undefined"&&typeof console.log!="undefined"){eval("console."+type+"(msg);")}};this.submit=function submit(e){if(this.valid==false){e=new Event(e);if(this.msgError.length>0){ul_error=new Element("ul");ul_error.setProperty("id","error_list");ul_error.injectTop(this.addMessageHere);this.msgError.each(function(item,index){li=new Element("li",{});ul_error.adopt(li);msg=this.formMsgError.get(item);if(msg==null){msg="Error on "+item}li.setText(msg)})}else{this.fbConsole("msgError length <= 0")}e.stop();if(this.params.get("msgErrorRedirect")!=null){document.location.href="#"+this.params.get("msgErrorRedirect")}}else{this.hookSubmit()}}}; -
javascript/mootools_1.1.x/verif_form/verif_form.src.js
r145 r147 22 22 * verifForm 23 23 * 24 * Fonction permettant de v érifier les formulaires avec MooTools.24 * Fonction permettant de vérifier les formulaires avec MooTools. 25 25 * 26 26 * -------------------------------------------------------- 27 27 * 28 * D épendances :28 * Dépendances : 29 29 * Composant de MooTools 1.1.1 : 30 30 * - Element.Event … … 38 38 * - 1.4 : 39 39 + Ajout de la fonction isChecked 40 + Ajout de l' écriture dans Firebug ;-)40 + Ajout de l'écriture dans Firebug ;-) 41 41 * - 1.3 : 42 42 * + Ajout des hooks de tests et de submit … … 44 44 * + Gestion du champ email de confirmation 45 45 * - 1.1 : 46 * + Passage des param ètres dans un hash()46 * + Passage des paramÚtres dans un hash() 47 47 * + Redirection vers le message facultative et configurable 48 48 * + Message standard d'erreur 49 49 * + initialize devient init 50 50 * - 1.0 : 51 * + Premi ère release51 * + PremiÚre release 52 52 * 53 53 * -------------------------------------------------------- … … 62 62 * 4. Ajouter la classe CSS "confirmPassword" au champs de confirmation du mot de passse 63 63 * 64 * 5. Ajouter la classe CSS "checked" au champs case àcocher65 * 66 * Remarque : Possibilit éde combo class="required email confirmEmail"67 * 68 * 6. D éfinir un Hash avec les messages d'erreur64 * 5. Ajouter la classe CSS "checked" au champs case à cocher 65 * 66 * Remarque : Possibilité de combo class="required email confirmEmail" 67 * 68 * 6. Définir un Hash avec les messages d'erreur 69 69 * <code>var formMsgError = new Hash({ 70 70 * idChamps1_EMPTY: 'Le champs "Mail" est vide', … … 72 72 * });</code> 73 73 * 74 * 7. Lancez le contr ôle des formulaires au domready74 * 7. Lancez le contrÃŽle des formulaires au domready 75 75 * <code>window.addEvent('domready', function(){ 76 76 * var params = new Hash({ … … 79 79 * 'btnSubmit': $('btnSubmit'), 80 80 * 'addMessageHere': $('anchorTop'), 81 * 'formMsgError': $('msgError'),81 * 'formMsgError': msgError, 82 82 * // Optionnels 83 83 * 'msgErrorRedirect': 'top' … … 87 87 * });</code> 88 88 * 89 * 8. Possibilit édes rajouter des tests (hook) :89 * 8. Possibilité des rajouter des tests (hook) : 90 90 * <code>verif.hookTest = function hookTest() { 91 91 * // Mettre mon hook ici :-) 92 92 * };</code> 93 93 * 94 * 9. Possibilit éde rajouter des actions avant de soumettre94 * 9. Possibilité de rajouter des actions avant de soumettre 95 95 * le formulaire (hook) : 96 96 * <code>verif.hookSubmit = function hookSubmit() { … … 102 102 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 103 103 * @version 1.4 104 * @param params Hash Liste des param ètres104 * @param params Hash Liste des paramÚtres 105 105 * 106 106 * -------------------------------------------------------- */ 107 107 function verifForm( params ) { 108 108 109 this.params = params; // Tableau des param ètres110 this.form2Verif = this.params.get('form2Verif'); // El ément du formulaire à contrôler111 this.btnSubmit = this.params.get('btnSubmit'); // El ément du bouton submit de validation112 this.addMessageHere = this.params.get('addMessageHere'); // Ajouter le message d'erreur apr ès l'élément109 this.params = params; // Tableau des paramÚtres 110 this.form2Verif = this.params.get('form2Verif'); // Elément du formulaire à contrÃŽler 111 this.btnSubmit = this.params.get('btnSubmit'); // Elément du bouton submit de validation 112 this.addMessageHere = this.params.get('addMessageHere'); // Ajouter le message d'erreur aprÚs l'élément 113 113 this.formMsgError = this.params.get('formMsgError'); // Hash contenant les messages d'erreur 114 114 115 115 this.valid = true; // Le formulaire remplit-il toutes les conditions ? 116 this.msgError = new Array(); // Listes des éventuelles erreurs116 this.msgError = new Array(); // Listes des éventuelles erreurs 117 117 118 118 … … 143 143 this.isSamePassword(); 144 144 this.isChecked(); 145 this.hookTest(); /* Possibiliter de faire des hooks pour rajouter des contr ôles */145 this.hookTest(); /* Possibiliter de faire des hooks pour rajouter des contrÃŽles */ 146 146 147 147 this.submit(e); … … 152 152 153 153 /* 154 * V érification des champs requis.154 * Vérification des champs requis. 155 155 * 156 156 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 174 174 175 175 /* 176 * V érification des champs email.176 * Vérification des champs email. 177 177 * 178 178 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 197 197 198 198 /* 199 * V érification des champs email de confirmation.199 * Vérification des champs email de confirmation. 200 200 * 201 201 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 222 222 223 223 /* 224 * V érification des champs confirmation du mot de passe.224 * Vérification des champs confirmation du mot de passe. 225 225 * 226 226 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 246 246 247 247 /* 248 * V érification des champs case àcocher.248 * Vérification des champs case à cocher. 249 249 * 250 250 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 267 267 268 268 /* 269 * Possibilit éde faire des hooks pour rajouter des tests.269 * Possibilité de faire des hooks pour rajouter des tests. 270 270 * 271 271 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 279 279 280 280 /* 281 * Possibilit éde faire des hooks pour rajouter des actions avant de soumettre.281 * Possibilité de faire des hooks pour rajouter des actions avant de soumettre. 282 282 * 283 283 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> … … 322 322 this.fbConsole = function fbConsole ( type, msg ) { 323 323 324 /* Pr ésence de Firebug */324 /* Présence de Firebug */ 325 325 if( typeof console != 'undefined' && typeof console.log != 'undefined' ) { 326 326 eval("console."+ type + "(msg);")
