Cómo validar una fecha que no sea mayor a la fecha actual

publicado por: Anonymous

Quiero validar, que al momento de introducir una fecha no se mayor a la fecha actual, ejemplo, hoy sea 1 de diciembre de 2018, que no permita escoger una fecha mayor a 1 de diciembre de 2018.

<legend class="mt-3 pt-3">Observaciones</legend>
<div class="form-group col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4"> 
  <label for="title" id="title">Fecha de inspección(<span style="color:red;">*</span>)</label> 
  <input type="date" class="form-control date required" name="fechaInspeccion" id="fechaInspeccion" title="Fecha de inspección">
  <small id="emisionHelp" class="form-text text-muted"> Ejemplo: 01/01/2001</small>
</div>

solución

Podrías setear el atributo max para poder deshabilitar los días posteriores.
Ahora bien, si el usuario intenta escribir una fecha mediante el teclado, la opción sería manejar esa validación a través del evento onblur

_x000D_

_x000D_

var myDate = $('#fechaInspeccion');
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if(dd < 10)
  dd = '0' + dd;

if(mm < 10)
  mm = '0' + mm;

today = yyyy + '-' + mm + '-' + dd;
myDate.attr("max", today);

function myFunction(){
  var date = myDate.val();
  if(Date.parse(date)){
    if(date > today){
      alert('La fecha no puede ser mayor a la actual');
      myDate.val("");
    }
  }
}

_x000D_

<legend class="mt-3 pt-3">Observaciones</legend>
<div class="form-group col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4"> 
  <label for="title" id="title">Fecha de inspección(<span style="color:red;">*</span>)</label> 
  <input type="date" class="form-control date required" name="fechaInspeccion" id="fechaInspeccion" title="Fecha de inspección" onblur="myFunction()">
  <small id="emisionHelp" class="form-text text-muted"> Ejemplo: 01/01/2001</small>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

_x000D_

_x000D_

_x000D_

PD: No especificas si estas utilizando JQuery, pero este ejemplo necesita esa librería.

Nos comentas =)

Respondido por: Anonymous

Leave a Reply

Your email address will not be published.