I need to use a use a custom validate because I need to check if date is in a correct format
date: [Validators.required,DateValidator.validateDate].
I'm using moment.js to handle the date and this is my validator:
static validateDate(fdValue: FormControl) {
const date = fdValue.value;
console.log(fdValue);
if(fdValue.errors!=null){
console.log("error different null");
}
if (date ==null && fdValue.errors!=null && fdValue.errors['matDatepickerParse']!=null){
return { pattern: {}};
}
}
With this validate I put a date in input 13/10/2000 and it works correctly but I put this date "10/0/2000" and it doesn't work.
When I read the console.log(fdValue) result:
errors:
matDatepickerParse:
text: "03/0/1977"
required: true
But when I do fdValue.errors!=null it doesn't enter in these if because fdValue.errors is null. This is impossible because it prints me the value in errors but for the program is null. Anyone can help ?
If you need to print a message if the date is not correct, you could try:
I'm not exactly sure what your
ifstatement at the bottom is doing, but edit it as you like - here I've made it so that if your date isn't valid, it will return{ pattern: {}}