角度形式 Validators.pattern 不适用于匹配 2 个变体

问题描述 投票:0回答:1

我有一个独特的情况,我必须验证日期时间格式或空字符串。其中任何一个都应该是有效的输入。但例如格式错误或不完整的日期时间应该会导致验证失败。

   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

但是,当我在我的应用程序中将该字段留空时,它仍然显示验证错误。

任何人都可以推荐我可能缺少的其他东西吗?

提前谢谢您!

angular forms validation angular-reactive-forms
1个回答
0
投票

Validators.required
在空字符串上返回错误,而不是你的
Validators.pattern

© www.soinside.com 2019 - 2024. All rights reserved.