Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

167
Visualizações
Regla de validación de jQuery SOLO AL ENVIAR

Digamos que tengo un formulario que busca ubicaciones de ciudades y estados. si el usuario ingresa una ciudad o estado incorrecto, quiero que el formulario pueda verificar la base de datos con la entrada de los usuarios y ver si la entrada es válida o no. Si no es así, quiero que el usuario sea rápido.

Entonces form Validate es el complemento para mí.

 $("#form").validate({ rules: { citystate: { required: true, myCustomAjaxSyncronousCheckAgainstDBRule: true } submitHandler: function(form) { if ($("#form").valid()) { form.submit(); } } });

Ahora digamos que este formulario debe usarse en 4 lugares diferentes en mi sitio web, por lo que sería difícil refactorizar myCustomAjaxSyncronousCheckAgainsDBRule (nombre falso por cierto) y tener el mismo código 4 veces en mi sitio web. Por eso creé una regla personalizada en el archivo JS. Pero, ¿hay alguna manera de que la regla SOLO PUEDE verificarse en el momento del envío? Dado que si hay una entrada de usuario no válida, la verificará en CADA pulsación de tecla, lo que puede ser bastante engorroso. Especialmente porque tengo jQuery.ui.autocomplete ejecutándose en conjunto.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Todas las validaciones se pueden configurar de forma independiente (onclick, onkeypress,onsubmit,etc.)

Las demostraciones y los detalles están disponibles en el sitio de documentos http://docs.jquery.com/Plugins/Validation/validate

 $("#form").validate({ onkeyup: false, onclick: false })

over 4 years ago · Santiago Trujillo Relatório

0

Como alternativa, de una manera más sencilla, puede pasar una función a la configuración onfocusout y onkeyup de jquery.validator para decidir si un elemento debe validarse en esos eventos o no, como esto:

 jQuery.validator.defaults.onfocusout = function (element, event) { // detectect if is the element you dont want validate // the element has to have the attribute 'data-control="mycitycontrol"' // you can also identify your element as you please if ($(element).data("control") === "mycitycontrol") return; if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) { this.element(element); } } jQuery.validator.defaults.onkeyup = function (element, event) { // detectect if is the element you dont want validate // the element has to have the attribute 'data-control="mycitycontrol"' // you can also identify your element as you please if ($(element).data("control") === "mycitycontrol") return; if (event.which === 9 && this.elementValue(element) === "") { return; } else if (element.name in this.submitted || element === this.lastElement) { this.element(element); } }
over 4 years ago · Santiago Trujillo Relatório

0

$.extend($("#form-id").validate().settings, { onkeyup: false, onfocusout: false });
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda