Saltar al contenido

¿Cómo deshabilitar todas las fechas antes de una fecha particular en angular?

Ten en cuenta que en la informática un problema casi siempere suele tener varias resoluciones, de igual modo aquí te mostraremos lo más óptimo y eficiente.

Solución:

Encuadernación con [min] funciona perfecto para cualquier fecha

archivo .ts

//today's date
todayDate:Date = new Date();

//any date
someDate: Date = new Date(anydate);

archivo .html

 
         
        
        
  

Dado que está utilizando un formulario reactivo, utilice los controles de formulario. No se recomienda tener dos enlaces (ngModel y formControl). Así que suelta el ngModel como sugerí en una pregunta anterior tuya: https://stackoverflow.com/a/47426879/6294072

Así que complete sus controles de formulario con los valores de su objeto unavailability.

constructor(private formBuilder: FormBuilder)  
  this.unavailabilityForm = this.formBuilder.group(
    startDate: [this.unavailability.startDate],
    endDate: [this.unavailability.endDate]
  );  

si está recibiendo los valores en un momento posterior, puede usar patchValues:

this.unavailabilityForm.setValue(
  startDate: this.unavailability.startDate;
  endDate: this.unavailability.endDate;
)

de lo contrario, puede establecer los valores cuando crea el formulario.

Entonces, lo único que necesita agregar a su segundo selector de fechas es [min] como la otra respuesta mencionada. Utiliza el valor de control de formulario:


MANIFESTACIÓN

A menos que me esté perdiendo algo, puedes usar el [min]="" propiedad de fecha:

Lo que sea startDate Esto limitará las fechas del Calendario disponibles para endDate. Si lo necesitas configurado antes startDate es elegido, use otra variable y configúrela en consturctor() o ngOnInit() de su componente.

Consulte: https://material.angular.io/components/datepicker/overview#date-validation

Comentarios y puntuaciones del post

Recuerda algo, que puedes optar por la opción de decir si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *