我有一个独特的情况,我必须验证日期时间格式或空字符串。其中任何一个都应该是有效的输入。但例如格式错误或不完整的日期时间应该会导致验证失败。
myForm = this.form.group({
...
ts: ['', [Validators.required, Validators.pattern('/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}|^(?=\s*$)$/')]],
});
模板:
<input
type="datetime-local"
class="form-control"
formControlName="ts">
我在 https://regex101.com/ 检查了我的正则表达式,它匹配空输入或正确的日期时间格式,如
2023-09-14T17:17
但是,当我在我的应用程序中将该字段留空时,它仍然显示验证错误。
任何人都可以推荐我可能缺少的其他东西吗?
提前谢谢您!
是
Validators.required
在空字符串上返回错误,而不是你的 Validators.pattern
。