【问题标题】:Angular 2 Form Validation Pattern Required需要 Angular 2 表单验证模式
【发布时间】:2025-12-17 19:15:01
【问题描述】:

我正在使用 Angular 2,我想做一个表单验证。 这是我的意见:

<td><input type="number" class="form-control" min="0" max="100" step="1" pattern="^([0-9]|[1-9][0-9]|[1][0][0])?" name="postEpg" [(ngModel)]="selectedTimer.PostEPG"></td>

我现在的问题是,验证表明,这是不正确的,当我不填写该字段时...... 但是该字段不是必需的,所以应该没问题,如果没有... 但如果有什么东西,它必须匹配模式......

有人知道如何达到这个目标吗?

谢谢!

【问题讨论】:

    标签: forms validation angular


    【解决方案1】:

    简单地修改模式怎么样: pattern="^$|^([0-9]|[1-9][0-9]|[1][0][0])?" 这应该允许空字符串或您的模式。

    【讨论】:

    • mh,我不知道为什么,但是有了这个解决方案,表单总是有效的......也许这是一个问题,'ngModel'变量可能不存在于 selctedTimer 上......
    • 嘿,正则表达式有错误,我用?代替$(断言位置在字符串末尾),我现在修好了。