Tengo una pregunta sobre el método validar en jQuery y agregarle una regla, así que digamos que tengo:

  $("#myform").validate({
  rules: {
  zip: {
    field: {
      required: true,
      maxlength: 5,
    }
  }
});

Ahora mi diseño de formulario se ve así:

<body>
<div>
<form id="myform">
<label>
   <span>label</span>
   <input name="zip" type="text" id="zip" class="required" size="50">
</label>

<label>
         //some stuff here
</label>
</form>
</div>
</body>

La pregunta es ¿por qué la validación no se realiza en zip? Cuando solo tengo una entrada de texto dentro de un cuerpo y nada más funciona.

2
aherlambang 10 sep. 2011 a las 19:58

3 respuestas

La mejor respuesta

Editar:

Acabo de revisar el sitio que vinculaste y los plugins jquery validate & delegate están lanzando 403 en tu sitio (http://adityaherlambang.com/). Actualice la referencia de URL a esos scripts y debería estar listo.

Validar: http://ajax.aspnetcdn.com /ajax/jquery.validate/1.8.1/jquery.validate.min.js

Original:

Parece que su validación js está un poco apagada. Intenta usar:

$("#myform").validate({
   rules: {
    zip: {
      required: true,
      maxlength: 4
    }
  }
});

Violín relacionado: http://jsfiddle.net/gp4vB/

1
Jesse 10 sep. 2011 a las 16:53

En primer lugar, no puede poner input dentro de label. Debe organizarse como:

<label for="cname">Name</label>
<input type="text" id="cname" name="cname" />

Y cierre su etiqueta input

<input name="zip" type="text" id="zip" class="required" size="50" />

    $(document).ready(function () {
        $("#myform").validate({
            rules: {
                zip: {
                    required: true,
                    maxlength: 4
                }
            }
        });
    });
1
Samich 10 sep. 2011 a las 16:30

No cerró la etiqueta de entrada Zip. Debería verse a continuación:

<input name="zip" type="text" id="zip" class="required" size="50" />
1
Samich 10 sep. 2011 a las 16:29