Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

194
Views
(Jquery Validate) onkeyup: false funciona para un campo hasta que lo seleccione por segunda vez

Estoy trabajando en un gran proyecto heredado de formularios web de Asp.Net. Tengo un campo que llega a nuestro servidor para verificar la unicidad en la validación. Todo en este proceso funciona, excepto que el campo importante se validará en la activación después de cambiar el enfoque y luego volver a enfocarse en el campo. El campo es una simple entrada html. He intentado establecer onkeyup en falso entre otros eventos. He intentado usar un onkeyup personalizado. No importa lo que intente, la validación de la clave sigue regresando.

El usuario se centrará en el campo e introducirá sus datos. Durante la entrada inicial, la validación no se activa hasta que cambia el enfoque. Luego, cuando el usuario vuelve a enfocarse en el campo, la validación se activa en cada tecla. Tengo que evitar este comportamiento para reducir el tráfico de red. De lo contrario, lo llamaría bueno y seguiría adelante. Cualquier consejo es muy apreciado. El siguiente código está simplificado del proyecto, pero todavía me da el comportamiento mencionado. Por favor, hágamelo saber si puedo aclarar algo.

jQuery v3.4.1 Complemento de validación de jQuery - v1.19.0

 <form id="form1" runat="server"> <div style="padding: 100px;"> <div class="control-group"> <label for="claimNumber" class="control-label" style="width: 200px;">Claim #*</label> <div class="controls" style="margin-left:20px"> <input type="text" class="form-control span3" id="claimNumber" name="claimNumber" maxlength="128"/> <button style="margin-left: 10px">Validate</button> </div> </div> </div> </form> <script> var isUsed; var form = $("#form1").show(); var form1ValidationRules = { rules: { claimNumber: { uniqueClaim: true, required: true } } }; var validateForm = function () { $('input,select,textarea', 'div.hide').not('input[type=radio]').each(function () { $(this).val(''); }); return $("#form1").validate(form1ValidationRules).form(); }; $(document).ready(function () { $.validator.addMethod( "uniqueClaim", function () { console.log("validating"); return (isUsed == false) }, "Claim number is already in use for your company." ); $('form#form1').validate(form1ValidationRules); $('#myform').validate({ onkeyup: false }); }); </script>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

$('form#form1').validate(form1ValidationRules); $('#myform').validate({ onkeyup: false });
  • ¿Dónde está $myform ? Ese sería un formulario con id="myform" . Parece que ha adjuntado .validate() a un formulario que no existe en este código. Esta llamada sería ignorada.

  • Si se supone que es el mismo formulario y corrige el selector #myform , aún no funcionará porque llamó .validate() dos veces en el mismo formulario. Esta segunda llamada sería ignorada.

  • Si está utilizando el complemento de validación discreta como parte de su proyecto ASP, entonces está llamando a .validate() tres veces en el mismo formulario. La llamada .validate() creada automáticamente por el complemento discreto se llamará primero y las demás se ignorarán.

El complemento jQuery Validate usa .validate() para inicializar el complemento en su formulario UNA vez. Si se llama a .validate() varias veces, se ignorarán todas las llamadas posteriores.

Los usuarios de ASP que tienen instalado Unobtrusive generalmente usan el método .setDefaults() para anular cualquier configuración de jQuery Validate creada por Unobtrusive. Tenga en cuenta que esto anularía la configuración de jQuery Validate para todos los formularios de la página.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!