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;
}