2012-07-18 14 views
8

La validación de JQuery solo funciona para el primer elemento en el formulario enviado, Validación no marcará para el segundo. Necesito saber qué falta. Cambie la entrada para text1 y date2, la validación todavía funciona para la primera.La validación de JQuery solo funciona para el primer elemento en el formulario enviado. [tiene la intención de validar todo]

<!DOCTYPE HTML> 
<html lang="en-US"> 
<head><title> 
</title> 
<script type='text/javascript' src='http://code.jquery.com/jquery-1.5.1.min.js'></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"></script> 
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.min.js"></script> 
<script type="text/javascript" src="http://jquery-multifile-plugin.googlecode.com/svn-history/r16/trunk/jquery.MetaData.js"></script> 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/base/jquery-ui.css"/> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#form1").validate(); 

     $(".date").datepicker({ 
      changeYear: true, 
      dateFormat: 'dd/mm/yy', 
      minDate: new Date('1990/01/01'), 
      maxDate: '30Y' 
     }); 
    }); 
    function test() { 
     alert(document.getElementById("datetext").getAttribute("must")); 
    }   
</script> 
</head> 
<body> 
     <form method="post" action="WebForm1.aspx" id="form1"> 
      Text:<font color="red">* </font><input id="Text1" class="lvl {required:true,messages:{required:'blank not allowed.'}}" /><br /> 
      Select Date2:<font color="red">* </font><input id="date2" class="date {required:true,messages:{required:'Required:Need to enter 2 date.'}}" readonly="true" /><br /> 
      <input type="submit" value="Submit"/> 
     </form> 
</body> 
</html> 

Respuesta

27

Asegúrese de incluir un atributo name a sus entradas. Creo que usa el atributo name para compilar su lista de campos de validación y, como no ha especificado un atributo name, la validación de jquery cree que el segundo campo tiene el mismo nombre que el primero.

Por ejemplo, <input id="Text1" name="Text1" />

+0

Gracias, tuvieron este problema y que estaban sorprendidos, aunque ni idea de por qué no sólo tiene que utilizar el elemento en lugar del campo de nombre. – bigcakes

+0

No tienes idea de lo aliviado que estoy al encontrar esta publicación. He estado golpeando mi cabeza contra la pared tratando de descubrir por qué mi rutina de validación no funciona correctamente y resalta solo el primer elemento inválido. los documentos oficiales de validación de jquery son basura, no tenía idea de que el problema se resolvería fácilmente al incluir un nombre attr, lmao. – Nexus

+2

También he perdido algo de tiempo en esto. Por favor, marque esta respuesta como aceptada. – Raffo

Cuestiones relacionadas