角简单模式验证问题

时间:2019-01-29 20:34:40

标签: angular validation

我有一个非常简单的Angular模式,如下所示:

<div>
    <input [(ngModel)]="testField" name="testField" #testFieldN="ngModel" required pattern="[a-zA-Z]+" />
    <div *ngIf="testFieldN.invalid"
         class="alert alert-danger">
      <div *ngIf="testFieldN.errors?.pattern">
        Title is invalid.
      </div>
      <div *ngIf="testFieldN.errors?.required">
        Title is required.
      </div>
    </div>
  </div>

我希望testField应该至少具有一个字母字符。这意味着应该接受“ One11”之类的值。但是,如果输入该值,则模式错误会开始并显示“标题无效”。

有人可以指出出什么问题吗?另外,我希望当字段为空时,应该启动模式错误,但事实并非如此。为什么会这样?

为了明确起见,这就是我测试模式并匹配“ One11”的方式:Demo

1 个答案:

答案 0 :(得分:3)

例如,您的模式只允许 个字母字符,而不是数字。如果您想要接受数字的内容,请尝试:

[0-9]*[a-zA-Z]{1,}[0-9]*

基本上是:

  1. 0个或更多数字
  2. A-z的至少1个字符
  3. 0个或更多数字