Descripción: Recorre los objetos formulario buscando elementos/campos que deben validarse y que envia como parámetros. Llama a las diferentes funciones de validación, en función de los nombres de la clases introducidos.* Además, definie parámetros de opciones.**. Recibe: Los objeto formulario del documento. Devuelve: True si el formulario valida completo y debe enviarse y false si no.
[opcion] : Descripcion "txtobl" : Para input text obligatorios. "IsNumber" : Para inputs text con formato numero entero. "IsOnlyChars" : Para inputs text con formato solo caracteres. "Email" : Para inputs que requieren una dir. Correo "chkobl" : Para inputs checkbox obligatorios. "radobl" : Para inputs radio obligatorio . Nota: ponedselo al ultimo. "selobl" : Para select NO multiple obligatorio. NOTA: El primer option tiene que ser nulo "multobl" : Para select multiple obligatorio. "NIF" : Para inputs que requieren un NIF.
"pwd - PassValid" : Para inputs de password que requieren confirmar si son iguales (Necesita de dos campos, el original y la confirmación). "pwd": Debe ir en los campo original y confirmación "PassValid-Org" : para el original. "PassValid-Conf": para el de confirmacion. "fechas-": Para inputs de fechas con inicial, final, mínima y máxima. "fechas":Para todos los inputs de fechas. "fechas-inicio" : fecha inicial (debe ser anterior a la final) "fechas-fin" : fecha final. (debe ser posterior a la final) "fecha-max-dd-mm-yyyy" : Para inputs que requieren una fecha maxima. Ej class=" fecha-max-12-10-2010" "fecha-min-dd-mm-yyyy" : Para inputs que requieren una fecha minima. Ej class=" fecha-min-12-10-2010"
"telefono-...": Para inputs de números de teléfono.
"telefono-fijo": Para inputs que reuquieren un numero de telefono fijo.
"telefono-mobil" : Para inputs que requieren un numero de mobil.
"num-min/max-...": Para inputs con un valor numerico min/ máx.
"num-min-x": Para inputs que requieren un valor numerico mínimo.
Ej class = " num-min-10 ".
"num-max-x": Para inputs que requieren un valor numerico máximo.
Ej class=" num-max-100 ".
NOTA: si queremos valores negativos el signo vadetras del numero. Ej class=" num-max-20-".
NOTA2: Este nombre de clase debe ser siempre el primero si se ponen varios.
"length-min/max-...": Para inputs que requieren longitud mínima y máxima.
"length-min-x": Para inputs de una longitud de caracteres minima.
Ej class=" length-min-4"
"length-max-x": Para inputs de una longitud de caracteres maxima.
Ej class=" length-max-6"
NOTA2: Este nombre de clase debe ser siempre el primero si se ponen varios.
**Mensajes de Error : Los valores msgType pueden ser: 'sibling' : El mensaje de error aparece al contenedor hermano al campo. 'id' : El mensaje de error aparece en el contenedor con id ="errMsg". 'alert' : El mensaje de error aparece en un alert cutre y salchichero.
Idioma: Los valores de msgLanguage pueden ser los que esten editados para cada combinacion de [opcion] dentro del fichero xml . por defecto tenemos editados los idioma de 'es' : español , 'ca' : Catala, 'en':ingles , 'fr' : frances.
/**-----------------Declaración de variables globales---------------------- --------------------------------------------------------------------------- --------------------------------------------------------------------------*/ //Parámetros a elegir por el usuario. var msgType="sibling"; //Modo de mensaje de error var msgLanguage="ca"; //Idioma var msgXmlDoc="js/valida_form.xml"; //Archivo .xml //Determinados por las funciones. var errMsgCat; //CategorÃa del mensaje de error. var todoOk; //Valida el formulario. function valida_form(objForm){ todoOk=true; //recorre los elementos del formulario for(var i=0; i<= objForm.elements.length-1; i++){ //Si encuentra un campo obligatorio, ejecuta la función txtobl enviando como argumento el elemento/campo. if(objForm.elements[i].className.indexOf('txtobl')!=-1){ element_form=objForm.elements[i]; errMsgCat='txtobl'; txtoblValida(element_form); } if(objForm.elements[i].className.indexOf('IsNumber')!=-1){ element_form=objForm.elements[i]; errMsgCat='IsNumber'; IsANumberValida(element_form); } if(objForm.elements[i].className.indexOf('IsOnlyChars')!=-1){ element_form=objForm.elements[i]; errMsgCat='IsOnlyChars'; IsOnlyCharsValida(element_form); } if(objForm.elements[i].className.indexOf('Email')!=-1){ element_form=objForm.elements[i]; errMsgCat='Email'; EmailValida(element_form); } if(objForm.elements[i].className.indexOf('chkobl')!=-1){ element_form=objForm.elements[i]; errMsgCat='chkobl'; chkoblValida(element_form); } if(objForm.elements[i].className.indexOf('radobl')!=-1){ element_form=objForm.elements[i]; errMsgCat='radobl'; radoblValida(element_form); } if(objForm.elements[i].className.indexOf('selobl')!=-1){ element_form=objForm.elements[i]; errMsgCat='radobl'; seloblValida(element_form); } if(objForm.elements[i].className.indexOf('multobl')!=-1){ element_form=objForm.elements[i]; errMsgCat='multobl'; multoblValida(element_form); } if(objForm.elements[i].className.indexOf('NIF')!=-1){ element_form=objForm.elements[i]; errMsgCat='NIF'; NIFValida(element_form); } if(objForm.elements[i].className.indexOf('pwd')!=-1){ element_form=objForm.elements[i]; PassValida(element_form); if(objForm.elements[i].className.indexOf('PassValid-Conf')!=-1){ element_form=objForm.elements[i]; errMsgCat='PassValid'; PassValida2(element_form); } } if(objForm.elements[i].className.indexOf('telefono-fijo')!=-1){ element_form=objForm.elements[i]; errMsgCat='telefono'; telefonoFijoValida(element_form); } if(objForm.elements[i].className.indexOf('telefono-mobil')!=-1){ element_form=objForm.elements[i]; errMsgCat='telefono'; telefonoMobilValida(element_form); } if(objForm.elements[i].className.indexOf('num-min-')!=-1){ element_form=objForm.elements[i]; errMsgCat='numero'; numMinValida(element_form); } if(objForm.elements[i].className.indexOf('num-max-')!=-1){ element_form=objForm.elements[i]; errMsgCat='numero'; numMaxValida(element_form); } if(objForm.elements[i].className.indexOf('length-min-')!=-1){ element_form=objForm.elements[i]; errMsgCat='numeroMinMax'; lengthMinValida(element_form); } if(objForm.elements[i].className.indexOf('length-max-')!=-1){ element_form=objForm.elements[i]; errMsgCat='numeroMinMax'; lengthMaxValida(element_form); } if(objForm.elements[i].className.indexOf('fechas')!=-1){ element_form=objForm.elements[i]; errMsgCat='fecha'; fechasValida(element_form); if(objForm.elements[i].className.indexOf('fechas-fin')!=-1){ errMsgCat='fechaComp'; element_form=objForm.elements[i]; fechasValida2(msgType); } } if(objForm.elements[i].className.indexOf('fecha-max-')!=-1){ element_form=objForm.elements[i]; errMsgCat='fechaMinMax'; fechaMaxValida(element_form); } if(objForm.elements[i].className.indexOf('fecha-min-')!=-1){ element_form=objForm.elements[i]; errMsgCat='fechaMinMax'; fechaMinValida(element_form); } } return todoOk; }
You need to login to post a comment.
