Changeset 147

Show
Ignore:
Timestamp:
05/20/08 21:12:53 (5 months ago)
Author:
llaumgui
Message:

MAJ après test sur blog

Location:
javascript/mootools_1.1.x/verif_form
Files:
2 modified

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"}}}; 
     1function 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  
    2222 * verifForm 
    2323 * 
    24  * Fonction permettant de vérifier les formulaires avec MooTools. 
     24 * Fonction permettant de vérifier les formulaires avec MooTools. 
    2525 * 
    2626 * -------------------------------------------------------- 
    2727 *  
    28  * Dépendances : 
     28 * Dépendances : 
    2929 *      Composant de MooTools 1.1.1 : 
    3030 *              - Element.Event 
     
    3838 *              - 1.4 : 
    3939                        + Ajout de la fonction isChecked 
    40                         + Ajout de l'écriture dans Firebug ;-) 
     40                        + Ajout de l'écriture dans Firebug ;-) 
    4141 *              - 1.3 : 
    4242 *                      + Ajout des hooks de tests et de submit 
     
    4444 *                      + Gestion du champ email de confirmation 
    4545 *              - 1.1 : 
    46  *                      + Passage des paramètres dans un hash() 
     46 *                      + Passage des paramÚtres dans un hash() 
    4747 *                      + Redirection vers le message facultative et configurable 
    4848 *                      + Message standard d'erreur 
    4949 *                      + initialize devient init 
    5050 *              - 1.0 : 
    51  *                      + Première release 
     51 *                      + PremiÚre release 
    5252 * 
    5353 * --------------------------------------------------------  
     
    6262 *              4. Ajouter la classe CSS "confirmPassword" au champs de confirmation du mot de passse 
    6363 * 
    64  *              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 
     64 *              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 
    6969 * <code>var formMsgError               = new Hash({  
    7070 *              idChamps1_EMPTY:                'Le champs "Mail" est vide', 
     
    7272 * });</code> 
    7373 * 
    74  *              7. Lancez le contrôle des formulaires au domready 
     74 *              7. Lancez le contrÃŽle des formulaires au domready 
    7575 * <code>window.addEvent('domready', function(){ 
    7676 *      var params = new Hash({ 
     
    7979 *                      'btnSubmit':                    $('btnSubmit'), 
    8080 *                      'addMessageHere':               $('anchorTop'), 
    81  *                      'formMsgError':                 $('msgError'), 
     81 *                      'formMsgError':                 msgError, 
    8282 *                      // Optionnels 
    8383 *                      'msgErrorRedirect':             'top' 
     
    8787 * });</code> 
    8888 * 
    89  *              8. Possibilité des rajouter des tests (hook) : 
     89 *              8. Possibilité des rajouter des tests (hook) : 
    9090 * <code>verif.hookTest = function hookTest() { 
    9191 *              // Mettre mon hook ici :-) 
    9292 *      };</code> 
    9393 * 
    94  *              9. Possibilité de rajouter des actions avant de soumettre 
     94 *              9. Possibilité de rajouter des actions avant de soumettre 
    9595 * le formulaire (hook) : 
    9696 * <code>verif.hookSubmit = function hookSubmit() { 
     
    102102 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
    103103 * @version 1.4 
    104  * @param params Hash Liste des paramètres 
     104 * @param params Hash Liste des paramÚtres 
    105105 * 
    106106 * -------------------------------------------------------- */ 
    107107function verifForm( params ) { 
    108108 
    109         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 
     109        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 
    113113        this.formMsgError                       = this.params.get('formMsgError');                      // Hash contenant les messages d'erreur 
    114114         
    115115        this.valid                                      = true;                                                                         // Le formulaire remplit-il toutes les conditions ? 
    116         this.msgError                           = new Array();                                                          // Listes des éventuelles erreurs 
     116        this.msgError                           = new Array();                                                          // Listes des éventuelles erreurs 
    117117 
    118118 
     
    143143                        this.isSamePassword(); 
    144144                        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 */ 
    146146 
    147147                        this.submit(e); 
     
    152152 
    153153        /* 
    154          * Vérification des champs requis. 
     154         * Vérification des champs requis. 
    155155         * 
    156156         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    174174 
    175175        /* 
    176          * Vérification des champs email. 
     176         * Vérification des champs email. 
    177177         * 
    178178         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    197197 
    198198        /* 
    199          * Vérification des champs email de confirmation. 
     199         * Vérification des champs email de confirmation. 
    200200         * 
    201201         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    222222         
    223223        /* 
    224          * Vérification des champs confirmation du mot de passe. 
     224         * Vérification des champs confirmation du mot de passe. 
    225225         * 
    226226         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    246246         
    247247        /* 
    248          * Vérification des champs case à cocher. 
     248         * Vérification des champs case à cocher. 
    249249         * 
    250250         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    267267 
    268268        /* 
    269          * Possibilité de faire des hooks pour rajouter des tests. 
     269         * Possibilité de faire des hooks pour rajouter des tests. 
    270270         * 
    271271         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    279279 
    280280        /* 
    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. 
    282282         * 
    283283         * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> 
     
    322322        this.fbConsole = function fbConsole ( type, msg ) { 
    323323                 
    324                 /* Présence de Firebug */ 
     324                /* Présence de Firebug */ 
    325325                if( typeof console != 'undefined' && typeof console.log != 'undefined' ) { 
    326326                        eval("console."+ type + "(msg);")