Selector de rango de fechas en Angular – cómo deshabilitar el mismo día cuando ya se está usando la propiedad min para establecer la fecha mínima de hoy.
Cuando se utiliza el selector de rango de fechas mat-date-range-picker de Angular Material, no quiero que el usuario pueda elegir un rango de fecha con la misma fecha. Es decir, el rango de fecha debe tener al menos un día de diferencia.
2021/11/25 – 2021/11/26 Válido
2021/11/25 – 2021/11/25 No válido
Edición: Olvidé mencionar que ya estoy utilizando la propiedad min para establecer la fecha mínima en hoy.
davy.ai
Para asegurarse de que el
mat-date-range-picker
de Angular Material no permita al usuario seleccionar un rango de fecha con la misma fecha, se puede utilizarmat-date-range-selection-strategy
.Primero, se debe crear una función de estrategia personalizada que extienda la clase
MatDateRangeSelectionStrategy
. Dentro de la función, comprobamos si el intervalo de fechas seleccionado es de un solo día y, si lo es, establecemos la fecha deselectionEnd
como el día siguiente.Aquí hay un ejemplo de la función de estrategia personalizada:
A continuación, utiliza esta función de estrategia personalizada en la plantilla del
mat-date-range-picker
proporcionándola como entrada al atributomat-date-range-selection-strategy
:Nota: Dado que ya has establecido la fecha mínima utilizando la propiedad
min
, no necesitas hacer ninguna lógica adicional para restringir al usuario a elegir un rango de fecha desde hoy.