我正在使用 mat-datepicker,用户可以手动输入日期。我希望能够做这样的事情来验证日期并确保它遵循 MM/DD/YYYY 的模式:
const dobRegex: RegExp = /((?:0[1-9])|(?:1[0-2]))\/((?:0[0-9])|(?:[1-2][0-9])|(?:3[0-1]))\/(\d{4})/;
public dob: FormControl = new FormControl(null, Validators.compose( [ Validators.required, Validators.pattern(dobRegex)]));
但是,当我执行上述操作时,它不起作用,因为 mat-datepicker 正在将任何带有数字的输入转换为 Date 对象。任何其他不是数字的输入都会将其转换为 null。
public date(c: FormControl) {
console.log(c.value) // This value is already a Date object or null
}
有没有办法可以使用模式验证手动输入的文本?