var strMessageWhenNoValue = "Ce champ est obligatoire"; var strEmailNotOk = "Veuillez préciser une adresse email"; var strDateNotOk = "Vous devez précisez une date au format : jj/mm/aaaa"; // // Positionne le curseur sur le champ indiqué // function setFocus(nomChamp) { try{ var champ = form.elements[nomChamp]; if (champ != null) { switch (champ.type) { case 'password' : case 'text' : case 'textarea' : case 'select-one' : case 'select-multiple' : champ.focus(); break; default : form.elements[nomChamp][0].focus(); }; }; } catch(e){} }; // // Retourne le nombre d'éléments non vides séléctionnés dans un champ // de type select-one ou select-multiple // function nbSelected(champ) { var i, nbSelected = 0; for (i = 0; i < champ.options.length; i++) { if (champ.options[i].selected && champ.options[i].value != '') {nbSelected++;}; }; return nbSelected; }; // //Fonction à appeler dans doSubmit pour traiter le champ à tester ( renvoie'vrai' ou 'faux') // function inputValidation(nomChamp, sMsg){ try{ var form = document.forms[0]; var champ = form.elements[nomChamp]; // Test préalable des champs de type file Upload if (nomChamp.indexOf("FileUpload") != -1) { //alert(" Test champ file Upload : " + nomChamp); //if (window[nomChamp] == null || window[nomChamp].value == "") if (getAttachmentName(nomChamp) == "") { if (sMsg == "") sMsg = strMessageWhenNoValue; alert(sMsg); setFocus(nomChamp) return false; }; }; if (champ == null) { return true; }; if(isFieldEmpty(nomChamp)){ if(sMsg == ''){ alert(strMessageWhenNoValue); }else{ alert(sMsg); }; if (!form.elements[nomChamp] == "undefined"){setFocus(nomChamp);}; return false; } else{ return true} }catch(e){ alert('mdlJsFieldValidation.inputValidation() - exception caught'); } }; // // Indique si un champ est vide ou si aucune option n'est selectionée // function isFieldEmpty(nomChamp) { var form = document.forms[0]; var champ = form.elements[nomChamp]; if (champ == null) {alert(nomChamp + ' est null');return false;}; var currentFieldName = ''; switch (champ.type) { case 'password' : case 'text' : case 'textarea' : case 'hidden' : if(trim(champ.value) == ''){return true;}else{return false;}; case 'select-one' : case 'select-multiple' : if(nbSelected(champ) == 0){return true}else{return false}; default : // Test CheckBox ou radio for(var i = 0 ; i < form.elements.length; i++) { if(form.elements[i].name == nomChamp) { switch (form.elements[i].type) { case 'checkbox' : if(RadioGetValue(champ) == ''){return true}else{return false}; case 'radio' : if(RadioGetValue(champ) == ''){return true}else{return false}; } } } //alert('Type du champ inconnu ('+ champ.name +'): ' + champ.type); //afficheProprietes(champ, false); return false; }; }; // // Affiche toutes les propriétés d'un objet donné // dans une boite de dialogue si messageBox == true // dans la page Web courante si messageBox == false (utile parfois pour des objets avec beaucoup de propriétés) // function afficheProprietes(objet, messageBox) { var theString = new String(); var sep = (messageBox == true) ? "\n":"
"; for (truc in objet) theString += "." + truc + " = " + objet[truc] + sep; if (messageBox) { alert(theString); } else { hRef = window.open(); hRef.document.write(theString); }; delete theString }; // // Teste si la valeur saisie dans un champ est de type numérique // function isNumber(champ) { var theStr = new String(champ.value); var car; var ok = true; for (var i=0; i < theStr.length && ok; i++) { car = theStr.substring(i,i+1); ok = (car == ',' || car == '.' || (car >= '0' && car <= '9')); }; delete theStr; return ok; } //___________________________________________________ // //Renvoie la valeur selectionnée dans un champ de type radio // function RadioGetValue(champ){ RadioGetValue(champ,'value'); } function RadioGetValue(champ,sPart){ if(champ == null){ return ""; } // renvoie la valeur cochée d'un bouton radio. var nb = champ.length; var res=""; for(var i=0;i 4)) { alert(strEmailNotOk); champ.focus(); return false; } else { // s'il y a au moins 1 lettre avant le point if (l_right_len==0) { alert(strEmailNotOk); champ.focus(); return false; } } } } } } return true; }