Haz todo lo posible por comprender el código bien antes de aplicarlo a tu proyecto y si ttienes algo que aportar puedes dejarlo en la sección de comentarios.
Solución:
¿Qué tipo de validación de fecha necesita? ¿Solo que el valor es una fecha válida? Si configura el type="date"
en el elemento de entrada, el navegador se asegurará de que solo se ingrese una fecha válida.
Lo mismo para el validador de números que se muestra y para cualquier validador de divisas. Debería poder configurar el type="number"
en el elemento de entrada y no necesitará un validador.
Si todavía hacer desea realizar su propia validación, puede usar expresiones regulares como en su ejemplo.
Simplemente busque expresiones regulares para la moneda y la fecha. Para la fecha, algo como esto: Javascript – Regex para validar el formato de fecha
Esta es otra opción para usar validadores personalizados
import FormControl from '@angular/forms';
export class DateValidator
static ptDate(control: FormControl): [key: string]: any
let ptDatePattern = /^(((0[1-9]
static usDate(control: FormControl): [key: string]: any 30)/(?:19
y utilícelo de esta manera para el formato “dd/mm/yyyy”:
this.formDetail = this.formBuilder.group(
date: ['', DateValidator.ptDate],
);
y utilícelo de esta manera para el formato “mm/dd/yyyy”:
this.formDetail = this.formBuilder.group(
date: ['', DateValidator.usDate],
);
Espero esta ayuda!
Creó un validador personalizado para manejar formatos MM/DD/YYYY y MMDDAAYY
function dateValidator(c: AbstractControl): [key: string]: boolean | null
if (c.pristine)
return null;
if ((c.value !== undefined && c.value !== '' && c.value != null)) month === 6
return null;
Recuerda que puedes valorar esta sección si te ayudó.