Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Pasar validación a una manera generica con funciones

Estas en el tema de Pasar validación a una manera generica con funciones en el foro de Javascript en Foros del Web. Hola tengo que pasar esta validaciones del formulario a una manera generica con funciones y eso... no se hacerlo necesito ayuda El codigo es el ...
  #1 (permalink)  
Antiguo 11/05/2013, 11:55
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 0
Pasar validación a una manera generica con funciones

Hola tengo que pasar esta validaciones del formulario a una manera generica con funciones y eso... no se hacerlo necesito ayuda

El codigo es el siguiente:


Código PHP:
function validar(){
 
//RECOGEMOS LOS CAMPOS EN VARIABLES
var nombre document.getElementById("nombre").value;
var 
dni document.getElementById("dni").value;
var 
email  document.getElementById("email").value;
var 
telefono document.getElementById("tfn").value;
var 
errorNombre document.getElementById("erno");
var 
errorDni document.getElementById("erdn");
var 
errorEmail document.getElementById("erem"); 
 
//LAS LETRAS SON PARA COMPROBAR EL DNI
var letras = ['T''R''W''A''G''M''Y''F''P''D''X''B''N','J''Z''S''Q''V''H''L''C''K''E''T'];
 
//COMPROBAR QUE LOS CAMPOS OBLIGATORIOS NO ESTAN VACIOS
if( nombre == null || nombre.length == || /^s+$/.test(nombre) ) {
errorNombre.innerHTML "<font color='red'>Debes introducir tu nombre</font>";
return 
false;
}else if( 
dni == null || dni.length == || /^s+$/.test(dni) ) {
errorNombre.innerHTML "";
errorDni.innerHTML "<font color='red'>Debes introducir tu DNI</font>";
return 
false;
//COMPROBAR  QUE EL DNI ES CORRECTO
}else if(dni.charAt(8).toUpperCase()  != letras[(dni.substring(08))%23]) {
errorDni.innerHTML "<font color='red'>El DNI no es correcto</font>" ;
return 
false;
}else if( 
email == null || email.length == || /^s+$/.test(email) ) {
errorDni.innerHTML "";
errorEmail.innerHTML "<font color='red'>Debes introducir tu E-mail</font>";
return 
false;
//COMPROBAR QUE EL FORMATO DEL E-MAIL ES CORRECTO
}else if(!(/[w-.]{3,}@([w-]{2,}.)*([w-]{2,}.)[w-]{2,4}/.test(email)) ){
errorDni.innerHTML "";
errorEmail.innerHTML "<font color='red'>El E-mail no es correcto</font>";
return 
false
}
return 
true;

  #2 (permalink)  
Antiguo 11/05/2013, 13:52
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Pasar validación a una manera generica con funciones

suponiendo que las condiciones estén correctas, tu función de por si tiene identificados todos los elementos que se requieren, los campos con sus values y aquellos donde aparecerán los mensajes de error, bastaría llamarla sin parámetros desde el evento onsubmit del form

<form action="#" onsubmit="return validar()">

hacerla más genérica implicaria pasar parámetros a la función. Además tus validaciones son diferentes. si solo fuera verificar que no estén vaciós se podría hacer, pero como está, no lo veo tan práctico

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 11/05/2013, 14:04
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 0
Respuesta: Pasar validación a una manera generica con funciones

Hola gracias por contestar
Si tengo que ver que el campo no esté vacío , que en el nombre sea letras y todo lo que pueda añadir pero de forma generica por funciones
  #4 (permalink)  
Antiguo 11/05/2013, 14:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Pasar validación a una manera generica con funciones

Cita:
Iniciado por dlmv Ver Mensaje
Hola gracias por contestar
Si tengo que ver que el campo no esté vacío , que en el nombre sea letras y todo lo que pueda añadir pero de forma generica por funciones
Ya tenés una función, Crear algo genérico para algo tan poco generíco, dejaría de ser genérico

esto
//COMPROBAR QUE EL DNI ES CORRECTO
y esto
//COMPROBAR QUE EL FORMATO DEL E-MAIL ES CORRECTO
requieren una función personalizada
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 13/05/2013, 01:41
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 0
De acuerdo Respuesta: Pasar validación a una manera generica con funciones

GRacias queria una cosa asi:

Código PHP:
/*
*     Comprueba que un campo de texto no vacio
*/
function estaVacio(texto){
    if (
texto == null || texto.length==|| /^s+$/.test(texto))
        return 
true;
    else 
        return 
false;
}

/*
 * Comprobamos que es un numero
 */
function esUnNum (valor) {
    if( 
isNaN(valor)) 
          return 
false;
}


/*
* Comprobamos que se ha selecionado un campo de radio B.
*/

function estaSeleccionadoRadio(opcion){

    for (var 
i=0i<opcion.lengthi++){
        if(
opcion[i].checked){
            return 
true;
        }
    }
    return 
false;
}

/*
* Comprobamos que se ha seleccionado un campo checkbox
*/

function estaSeleccionadoCheck(opcion){
    if( !
opcion.checked ){
        return 
false;
    } 
    return 
true;
}
/*
 * Todos los checkbox han sido seleccionados
 */

function checkSeleccionados(formulario){
    for(var 
i=0i<formulario.elements.lengthi++) {
        var 
elemento formulario.elements[i];
        if(
elemento.type == "checkbox") {
            if(!
elemento.checked) {
                  return 
false;
              }
          }
    }
    
}

/*
* Comprobamos que se ha seleccionado un elemento de una lista desplegable
* Comparamos el valor del elemento que tenemos no tenga valor 0, ya que no habremos seleccionado nada.
*/
function estaSeleccionadoLista(opcion){
    if (
opcion == null ||opcion == 0)
        return 
false;
    return 
true;

  #6 (permalink)  
Antiguo 13/05/2013, 01:50
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 0
Respuesta: Pasar validación a una manera generica con funciones

un ejemplo de formulario normal de contacto para esta validacion:
Código PHP:
/*
*     Comprueba que un campo de texto no vacio
*/
function estaVacio(texto){
    if (
texto == null || texto.length==|| /^s+$/.test(texto))
        return 
true;
    else 
        return 
false;
}

/*
 * Comprobamos que es un numero
 */
function esUnNum (valor) {
    if( 
isNaN(valor)) 
          return 
false;
}


/*
* Comprobamos que se ha selecionado un campo de radio B.
*/

function estaSeleccionadoRadio(opcion){

    for (var 
i=0i<opcion.lengthi++){
        if(
opcion[i].checked){
            return 
true;
        }
    }
    return 
false;
}

/*
* Comprobamos que se ha seleccionado un campo checkbox
*/

function estaSeleccionadoCheck(opcion){
    if( !
opcion.checked ){
        return 
false;
    } 
    return 
true;
}
/*
 * Todos los checkbox han sido seleccionados
 */

function checkSeleccionados(formulario){
    for(var 
i=0i<formulario.elements.lengthi++) {
        var 
elemento formulario.elements[i];
        if(
elemento.type == "checkbox") {
            if(!
elemento.checked) {
                  return 
false;
              }
          }
    }
    
}

/*
* Comprobamos que se ha seleccionado un elemento de una lista desplegable
* Comparamos el valor del elemento que tenemos no tenga valor 0, ya que no habremos seleccionado nada.
*/
function estaSeleccionadoLista(opcion){
    if (
opcion == null ||opcion == 0)
        return 
false;
    return 
true;


Etiquetas: campos, formulario, funcion, funciones, generica, html, manera
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:05.