Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Formulario html con javascript y validado con jquery

Estas en el tema de Formulario html con javascript y validado con jquery en el foro de Jquery en Foros del Web. Hola a tod@s, tengo un problemilla y es que en el formulario tengo 6 campos numéricos que controlo si están vacíos, si son numéricos y ...
  #1 (permalink)  
Antiguo 09/04/2013, 03:09
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 9 meses
Puntos: 0
Formulario html con javascript y validado con jquery

Hola a tod@s,
tengo un problemilla y es que en el formulario tengo 6 campos numéricos que controlo si están vacíos, si son numéricos y si están dentro de un rango de valores pero tambien quiero controlar que todos sean distintos entre ellos. He intentando añadir una función con jquery para validarlo pero no creo que lo esté haciendo bien, ahí os dejo el código a ver si a alguien se le ocurre algo:

<html>
<head>
<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Creamos una validación que no permita duplicidad de valores en ciertos campos
jQuery.validator.addMethod("noIgualA",function(val ue,element,param) {
var result = true;

if ( value != ($(param[0]).val() && value !=$(param[1]).val() && value !=$(param[2]).val() && value != $(param[3]).val() ) {
result = false;
}

return result;
},"No se pueden repetir los valores en los campos");

// Configuramos la validación de los distintos campos del formulario
$("#apuesta").validate( {
// Empezamos por las reglas
rules: {
num1: { // Cuando hay mas de una regla abrimos llaves
required: true, // Tiene que ser requerido
digits: true, // Sólo acepta dígitos
range: [1,50], // Indico que no puede ser menor de 1 ni mayor de 50
noIgualA: ["#num2","#num3","#num4","#num5"]
},
num2: {
required: true, // Tiene que ser requerido
digits: true, // Sólo acepta dígitos
range: [1,50], // Indico que no puede ser menor de 1 ni mayor de 50
noIgualA: ["#num1","#num3","#num4","#num5"]
},
num3: {
required: true, // Tiene que ser requerido
digits: true, // Sólo acepta dígitos
range: [1,50], // Indico que no puede ser menor de 1 ni mayor de 50
noIgualA: ["#num1","#num2","#num4","#num5"]
},
num4: {
required: true, // Tiene que ser requerido
digits: true, // Sólo acepta dígitos
range: [1,50], // Indico que no puede ser menor de 1 ni mayor de 50
noIgualA: ["#num1","#num2","#num3","#num5"]
},
num5: {
required: true, // Tiene que ser requerido
digits: true, // Sólo acepta dígitos
range: [1,50], // Indico que no puede ser menor de 1 ni mayor de 50
noIgualA: ["#num1","#num2","#num3","#num4"]
}
},
messages: { // Indicamos para cada campo y regla el mensaje que quiero mostrar si no se cumple.
num1: {
required: " (introduzca un valor)",
digits: " (ha de ser un número entero)",
range: " (ha de ser un valor entre 1 y 50)",
noIgualA: " (los números no pueden ser iguales)"
},
num2: {
required: " (introduzca un valor)",
digits: " (ha de ser un número entero)",
range: " (ha de ser un valor entre 1 y 50)",
noIgualA: " (los números no pueden ser iguales)"
},
num3: {
required: " (introduzca un valor)",
digits: " (ha de ser un número entero)",
range: " (ha de ser un valor entre 1 y 50)",
noIgualA: " (los números no pueden ser iguales)"
},
num4: {
required: " (introduzca un valor)",
digits: " (ha de ser un número entero)",
range: " (ha de ser un valor entre 1 y 50)",
noIgualA: " (los números no pueden ser iguales)"
},
num5: {
required: " (introduzca un valor)",
digits: " (ha de ser un número entero)",
range: " (ha de ser un valor entre 1 y 50)",
noIgualA: " (los números no pueden ser iguales)"
}
}
});
});
</script>
<body>

... el formulario con los inputs num1, num2, num3, num4 y num5 ...

</body>
</html>


Puede que sea error al recuperar los datos pero no estoy muy ducho en el tema por eso pido ayuda al respecto.

Gracias y saludos.
  #2 (permalink)  
Antiguo 18/04/2013, 00:57
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Formulario html con javascript y validado con jquery

Parece que nadie se ha animado a responder...
Bueno por suerte al final lo he arreglado y la función que me funciona es la siguiente:

// Creamos una validación que no permita duplicidad de valores en ciertos campos
jQuery.validator.addMethod("noIguales",function(va lue,element,param) {
return this.optional(element) || ( (value != $(param[0]).val()) &&
(value != $(param[1]).val()) && (value != $(param[2]).val()) &&
(value != $(param[3]).val()) );
}," (no se pueden repetir los valores en los campos)");

espero que le sirva a alguien,

Saludos atod@s

Etiquetas: formulario, html, input, javascript
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 17:22.