/ Published in: JavaScript
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.
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.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/**-----------------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; }