Estoy tratando de usar el complemento de validación en un div como se muestra en la respuesta a esta pregunta :
<script type="text/javascript"> $("#pseudoForm").validate({ onfocusout:true, rules:{ first_name:"required", last_name:"required" } }); </script> <!-- whatever --> <div id="pseudoForm"> <input type="text" name="first_name"/> <input type="text" name="last_name"/> </div>Tengo todo dentro de un formulario.
Recibo un montón de errores diferentes en diferentes navegadores.
¡Cualquier ayuda apreciada!
Esta no es la respuesta que desea escuchar, pero la otra respuesta es incorrecta (puede haber sido correcta cuando se publicó , pero ha habido varios cambios importantes en el complemento de validación de jQuery desde entonces).
El complemento de validación está (actualmente) diseñado para funcionar en un <form> y solo en un <form> . También puede notar que toda la documentación del complemento hace referencia a un formulario, no a ningún otro contenedor genérico.
El complemento en sí realiza un seguimiento de validator.currentForm internamente, lo que se refiere a this of the pass in selector, get .elements , etc.
La solución general/enfoque alternativo aquí: llame a .validate() en el elemento <form> (más bien el contenedor jQuery) directamente, no en ningún otro contenedor. Si necesita dividir su <form> use elementos <fieldset> , posiblemente usando la opción ignore: ':hidden' en .validate() si no desea validar campos de entrada que no son visibles para el usuario.
Abra jquery.validate.js o jquery.validate.min.js y busque (ctrl + F) " etiqueta " y replaceAll con su etiqueta requerida:
Ejemplo: div
luego realice la validación.
//HTML <div class="form-group has-feedback col-xs-8 " style="padding-right:0px"> <input type="tel" class="form-control" name="Otp_MobileNo" id="mobileNo" placeholder="Mobile No." minlength="10" maxlength="10"> <span id="mobileno_message" style="display:none;color: red;">Please enter a valid Mobile No</span> </div> //Java Script $("#getOtp").click(function(){ jQuery(document).ready(function(){ var MobileNo = jQuery("#mobileNo").val(); var MobileNoLength = MobileNo.length; var zipRegex = /^\d{10}$/; var mobileNo = $("#mobileNo").val(); if (!zipRegex.test(MobileNo)) { jQuery('#mobileno_message').show(); } else { // success! jQuery('#mobileno_message').hide(); $.ajax({ type : 'POST', url : '<?php echo site_url('Login/send_otp'); ?>', data : {Otp_MobileNo:mobileNo,}, dataType : 'json', beforeSend: function() { $("#error").fadeOut(); }, success : function(response) { alert(response.message_text); $("#check-otp").delay().animate({ height: 'toggle', }, "slow"); $("#getOtp").hide(); } }); } }); });