Pregunta

Estoy usando el fantástico complemento jquery .validate de J & # 246; rn Zaefferer en la bajada

Estoy usando asp.net, así que tenga una forma larga, aunque la forma se divide en 3 secciones a través de un acordeón jquery con botones para cambiar entre los paneles de acordeón.

Quiero que el botón en el panel uno valide los campos del panel uno, lo mismo con el panel dos, etc.

Obviamente, en cualquier otra tecnología, me gustaría usar múltiples formas y no tengo ninguna dificultad, aunque no puedo hacer esto en .net.

Creo que lo que necesito es casi un $ ('# aspnetForm'). validate (). unbind () o algo similar - al hacer clic en acordeón estoy pidiendo volver a validar el formulario, así sé en qué página estoy y podría configurar nuevas reglas, etc.

Intenté borrar las reglas $ ('# aspnetForm'). validate (). rules ('remove') aunque parece que tendría que hacer esto para cada campo en lugar del formulario en sí?

Puedo publicar cualquier ejemplo de código necesario, aunque el script general es considerable ahora, así que tendría que desenterrar fragmentos.

Espero tener el sentido lógico anterior: básicamente, una forma de aclarar todas las reglas para poder crear nuevas porque estoy en un panel de acordeón diferente es la solución que espero, aunque estoy luchando.

Muchas gracias Terry

¿Fue útil?

Solución 2

esto es lo que estaba haciendo, y después de un trabajo prolongado de firebug, parece que uno de los selectores no se borró, por lo que se cargaron las reglas incorrectas.

Ahora están resueltos, cada llamada a .validate tiene su propio conjunto de reglas, y desliga (digamos) el evento .click, no parecen ser aditivos, por lo que page1.validate con 3 reglas borra toda página2 Validar las reglas.

Gracias por su aporte a través de idrumgood, marcó su respuesta para decir gracias por cualquier aporte.

Saludos, Terry

Otros consejos

Intentaría establecer una marca cuando se muestre cualquier parte del formulario como

<div id="form_section_1" class="displayed">
     ....
</div>
<div id="form_section_2">
     ....
</div>
<div id="form_section_3">
     ....
</div>

Luego, en sus reglas de validación, haga que sean condicionales.

if($('#form_section_1').attr('class').search('displayed') != -1){
     var is_section_1_displayed = true;
}
else{ var is_section_1_displayed = false;

Haga eso para cada uno (tal vez de una manera más eficiente)

Luego, en tus reglas de validación, haz algo como

email: {
         required = is_section_1_displayed;
       }

Suponiendo que email está en la primera sección del formulario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top