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

162
Visualizações
how to get rid of errorClass in start date if end date is correct validate jquery

I have start date and end date, HTML below:

<div class="wrapper">
  <div class="form-group">
      <label class="col-form-label col-sm-3 required">Start Date</label>
       <div class="col-sm-9">
          <input name="startDate" type="text" class="validation-invalid-label" value="03-10-2024">
       </div>
  </div>
  <div class="form-group">
      <label class="col-form-label col-sm-3 required">End Date</label>
       <div class="col-sm-9">
          <input name="endDate" type="text" class="valid" value="02-10-2025">
       </div>
  </div>
</div>

I set start date, for example, 03-10-2022 and end date 02-10-2023. Then I focus on start date and set it to 03-10-2024 which is not correct by validation(text becomes red). To solve it I set end date to 02-10-2025. End date becomes black as it must be but start date stays red(it becomes black only when I focus on it).My code below:

$(selector).validate({
          rules: {
            startDate: {
                required: true
            },
            endDate: {
                required: true,
                dependsOnDate:  {
                    comparisonDate: `input[name="startDate"]`,
                    method: 'isAfter'
                }
              }
            },
            messages: {
            startDate: {
                required: "Invalid date",
            },
            endDate: {
                required: "Invalid date",
                dependsOnDate: "Invalid date"
            },
            },
            errorClass: 'validation-invalid-label',
            successClass: 'validation-valid-label',
          
            highlight: function(element, errorClass, validClass) {
                $(element).addClass(errorClass).removeClass(validClass);
                $(element).parents('.wrapper').addClass('has-error');
            },
            unhighlight: function(element, errorClass, validClass) {
                if (!_.some(_.keys(this.invalid), key => !_.isUndefined(this.invalid[key]) && this.invalid[key]!== false)) {
                    $(element).removeClass(errorClass).addClass(validClass);
                    $(element).parents('.wrapper').removeClass('has-error');
                }
             },
          
        });

So I need to remove errorClass from start date if end date becomes correct. My custom method:

$.validator.addMethod("dependsOnDate", function(value, element, params) {
    const givenDate = moment(value);
    const comparisonDate = moment($(params.comparisonDate).val())
    return givenDate[params.method](comparisonDate);
});
about 4 years ago · Juan Pablo Isaza
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