//// +----------------------------------------------------------------------+// | PHP Version 4                                                        |// +----------------------------------------------------------------------+// | Copyright (c) 2000 Le Phare, Nantes, France                          |// +----------------------------------------------------------------------+// | valide_form.js : Bibli JavaScript de gestion de validation de saisie |// |                                                                      |// +----------------------------------------------------------------------+// | Author: Vincent CAILLAUD                                             |// +----------------------------------------------------------------------+//// +---------------------------------------------------------------+------+// | Journal des modifications                                     | Par  |// +-----------+---------------------------------------------------+------+// | 01/09/00  |Création V1.0                                      | V.C  |// +-----------+---------------------------------------------------+------+// | 30/05/03  | Modif proc valid_text() et valid_field correction | V.C  |// |           | bug si champs non affichable (hidden)             |      |                                          |      |// | 30/10/03  | modif valid_select() bug dans nom d'objet         | V.C  | // +-----------+---------------------------------------------------+------+//// Bibliothèque de validation de champs Javascriptfunction valid_email(FormName,ElemName) {  var EmailOk  = true  var Temp     = field_name2obj(FormName,ElemName);  var AtSym    = Temp.value.indexOf('@')  var Period   = Temp.value.lastIndexOf('.')  var Space    = Temp.value.indexOf(' ')  var Length   = Temp.value.length - 1   // Array is from 0 to length-1  if ((AtSym < 1) ||                     // '@' cannot be in first position      (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'      (Period == Length ) ||             // Must be atleast one valid char after '.'      (Space  != -1))                    // No empty spaces permitted     {          EmailOk = false        alert("Merci de vérifier votre adresse Email")        Temp.focus()     }  return EmailOk}// function peremettant de valider si un champs texte est vide// frm:objet de la form contant l'objet// field_name: nom du champsfunction valid_text(inForm,field_name,err_msg) {  var ret=true;   var obj_text=field_name2obj(inForm,field_name);  var value=obj_text.value;  if(value=="")  {   alert(err_msg);   if (obj_text.type=="text" || obj_text.type=="textarea")    {     obj_text.focus();     obj_text.select();   }   ret=false;  }  return ret;}// function peremettant de valider si un champs texte représente une valeur numérique// frm:objet de la form contant l'objet// field_name: nom du champsfunction valid_num(inForm,field_name,err_msg) {  var ret=true;     if (ret=valid_text(inForm, field_name, err_msg))  {    var obj_text=field_name2obj(inForm,field_name);    var value=obj_text.value;      if(isNaN(value))    {     alert(err_msg);     if (obj_text.type=="text" || obj_text.type=="textarea")      {       obj_text.focus();       obj_text.select();     }     ret=false;    }  }  return ret;}// validation d'un champs par une condition passé en paramètre dans laquelle la valeur du champs // est symbolisé par la variable value.// ex: valid_field(document.form[0],"toto","value>5 && value<10","toto est faux")function valid_field(inForm,field_name,condition,err_msg){  var ret=true;  var obj_field=field_name2obj(inForm,field_name);  var value=obj_field.value;  if(!eval(condition))  {   alert(err_msg);   if (obj_field.type=="text" || obj_field.type=="textarea")   {     obj_field.focus();      obj_field.select();   }    ret=false;  }  return ret;}// function peremettant de valider la valeur d'un champs de type select est corecte// frm:objet de la form contant l'objet// field_name: nom du champsfunction valid_select(inForm,field_name,err_msg) {  var ret=true;   var obj_select=field_name2obj(inForm,field_name);  var value=obj_select.options[obj_select.selectedIndex].value;  if(value=="" || value==null)  {   alert(err_msg);   obj_select.focus();   ret=false;  }  return ret;}// function peremettant de valider la valeur d'un champs de type select est corecte// la validation se fit via une expression passé en paramètre contrairement à valid_select()// Dans l'expression, la valeur du select est symbolisé par la variable "value".// frm:objet de la form contenant l'objet// field_name: nom du champsfunction valid_select2(inForm,field_name,condition,err_msg) {  var ret=true;   var obj_select=field_name2obj(inForm,field_name);  var value=obj_select.options[obj_select.selectedIndex].value;  if(!eval(condition))  {   alert(err_msg);   obj_select.focus();   ret=false;  }  return ret;}// function peremettant de valider si un champs check_box est checké// frm:objet de la form contant l'objet// field_name: nom du champsfunction valid_checkbox(inForm,field_name,err_msg) {  var ret=true;   var obj_text=field_name2obj(inForm,field_name);  var value=obj_text.checked;  if(value==false)  {   alert(err_msg);   obj_text.focus();   obj_text.select();   ret=false;  }  return ret;}// function peremettant de valider si un ensemble de champs radio est checké// frm:objet de la form contant l'objet// field_name: nom du champs// err_msg message d'erreur afficherfunction valid_radio(inForm,field_name,err_msg){  var find=false;  var ret = false;  for(i=0;i<inForm.length;i++)  {    if(inForm[i].name==field_name)    {      find=true;      if(inForm[i].checked) { ret=true; break;}      else ret=false;    }  }  if (!ret) alert(err_msg);  if (!find) alert("Erreur dans valid_radio: Champs "+field_name+" introuvabe dans la form:"+inForm.name);    return ret;}// function permettant de convertir trois champs Jour Mois et Année en un objet Date JS// frm:objet de la form contant l'objet// field_name_j: nom du champs jour// field_name_m: nom du champs mois// field_name_a: nom du champs annéefunction jma2date(inForm,field_name_j,field_name_m,field_name_a){  var obj_field_j=field_name2obj(inForm,field_name_j);  var val_j=parseInt(obj_field_j.value,10);  var obj_field_m=field_name2obj(inForm,field_name_m);  var val_m=parseInt(obj_field_m.value,10);  var obj_field_a=field_name2obj(inForm,field_name_a);  var val_a=parseInt(obj_field_a.value,10);  objdate= new Date(val_a,val_m-1,val_j);  return objdate;}// function permettant de valider si une date est plausible// frm:objet de la form contant l'objet// field_name_j: nom du champs jour// field_name_m: nom du champs mois// field_name_a: nom du champs annéefunction valid_date(inForm,field_name_j,field_name_m,field_name_a,err_msg){  var ret=true;   var obj_field_j=field_name2obj(inForm,field_name_j);  var val_j=parseInt(obj_field_j.value,10);  var obj_field_m=field_name2obj(inForm,field_name_m);  var val_m=parseInt(obj_field_m.value,10);  var obj_field_a=field_name2obj(inForm,field_name_a);  var val_a=parseInt(obj_field_a.value,10);  // validation de la date  tmpdate= new Date(val_a,val_m-1,val_j);  tmpdate2 = new Date();  tmpdate2.setTime(tmpdate.getTime());  if(val_a!=tmpdate2.getFullYear() || val_m-1!=tmpdate2.getMonth() ||  val_j!=tmpdate2.getDate())  {   alert(err_msg);   obj_field_j.focus();   obj_field_j.select();   ret=false;  }  return ret;}// function peremettant de retourner l'objet associé à un champs d'une form// frm:objet de la form contant l'objet// field_name: nom du champsfunction field_name2obj(frm,field_name){  var i,obj_field;  for (i=0;i<frm.length;i++)  {    if(frm.elements[i].name == field_name)    {      obj_field = frm.elements[i]; // on sauvegarde dans une variable globale l'objet de saisi de texte en cour d'édition      break;    }  } if (obj_field) return obj_field; else alert("Erreur dans field_name2obj: champs:"+field_name+" introuvable");}// fonction retournant la valeur d'un champs// frm:objet de la form contant l'objet// field_name: nom du champsfunction val_field_name(frm,field_name){  obj_field=field_name2obj(frm,field_name);  return (obj_field.value);}// fonction permettant de changer la valeur d'un champs d'une forme// frm:objet de la form contant l'objet// field_name: nom du champs// value: valeur à affecter au champsfunction set_field_value(frm,field_name,value){  obj_field=field_name2obj(frm,field_name,value);  obj_field.value=value;}