【发布时间】:2021-01-23 07:58:24
【问题描述】:
我需要使用自定义验证,因为我需要检查日期格式是否正确
date: [Validators.required,DateValidator.validateDate].
我正在使用 moment.js 来处理日期,这是我的验证器:
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: {}};
}
}
通过此验证,我在输入 13/10/2000 中输入了一个日期,它可以正常工作,但我将此日期输入为“10/0/2000”,但它不起作用。
当我读到console.log(fdValue) 结果时:
errors:
matDatepickerParse:
text: "03/0/1977"
required: true
但是当我执行fdValue.errors!=null 时,如果因为fdValue.errors 为空,它不会输入这些。这是不可能的,因为它会在错误中打印我的值,但程序为空。有人可以帮忙吗?
【问题讨论】:
-
“我把这个日期定在 2000 年 10 月 0 日,但它不起作用”——这不是预期的行为吗?
-
@tomdaly 在这种情况下,当我打印 fberrors 是空字段但 console.log 打印的不是空字段
-
抱歉,我可能不理解您的问题,除了
console.logs 之外,您希望您的函数做什么以及它到底做错了什么? -
我想检查日期格式是否正确,我需要打印一条消息。我需要使用这个验证器并打印消息
标签: angular typescript angular-material momentjs angular-moment