Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Shell Root en 2 Abril 2011, 17:57 pm



Título: Validación de campos con JQuery
Publicado por: Shell Root en 2 Abril 2011, 17:57 pm
Bien, aprendiendo un poco JQuery, estoy haciendo una validación para los campos de un formulario. Básicamente para Cadenas y Números.

Por ahora tengo esto, lo que me falta es como ejecutar la expresión regular, es decir, que analice la sString ingresada como parámetro con la sExpReg.
Código
  1. function validarCampo( sString, sLength, sTipo ){
  2.  var sEstado = true;
  3.  var sExpReg = "";
  4.  var sObj    = $("#" + sString);  
  5.  
  6.  if( sTipo == "str" ){ sExpReg = "([a-zA-Z]*)"; }
  7.  else if( sTipo == "num" ){ sExpReg = "([0-9]*)"; }
  8.  
  9.  if( sObj.val() == "" ){
  10.    failField( sString, "Campo requerido." );
  11.    sEstado = false;
  12.  }
  13.  
  14.  if( (sObj.val().length >= 1) && (sObj.val().length <= sLength) ){
  15.    failField( sString, "El tamaño debe ser mayor a " + sLength + "." );
  16.    sEstado = false;
  17.  }
  18.  
  19.  return sEstado;
  20. }


Título: Re: Validación de campos con JQuery
Publicado por: Nakp en 2 Abril 2011, 18:08 pm
Las expresiones regulares pueden ser

Código
  1. sReg = /expresion/;
  2. sReg = new RegExp("expresion");
  3.  
  4. sString.match(sReg);

podrias usar un plugin para validar formularios :) y para validar cadenas/numeros puedes usar la funcion isNaN()


Título: Re: Validación de campos con JQuery
Publicado por: Shell Root en 2 Abril 2011, 18:17 pm
Pero no me funciona, tengo al final, antes del return
Código
  1.  if( !sObj.val().match( sExpReg ) ){
  2.    failField( sString, "Caracteres incorrectos.");
  3.    sEstado = false;
  4.  }

y en la validación del Form, tengo:
Código
  1.  if( validarCampo( "Campo1", 4, "str" ) == true ){
  2.  }else{
  3.    return false;
  4.  }

Puedo ingresar números y me los deja pasar.


Título: Re: Validación de campos con JQuery
Publicado por: merolhack en 6 Abril 2011, 03:01 am
Hola, yo actualmente uso un plugin llamado:
jQuery plugin: Validation
http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Esta muy bueno y validas los formularios muy rápido!