Angular简单模式验证问题

标签 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

最佳答案

例如,您的模式允许字母字符,而不允许数字。如果您想要接受数字的东西,请尝试:

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

基本上是:

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

关于Angular简单模式验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429177/

相关文章:

Angular 2 模板驱动表单——验证总结

ruby-on-rails-3 - Rails 验证错误电子邮件太短,电子邮件无效

css - 无法为 Check this potential box model size issue 设置 stylelint 规则

css - 如何从 Angular 中的子组件修改父组件的 css 属性

angular - Angular 2中是否有独特的过滤器?

java - Spring boot @RequestBody with @Valid- ExceptionHandler for MethodArgumentNotValidException

javascript - 如何在失去焦点后立即验证字段

javascript - Angular - 将两个可观察结果合并为一个

angular - 理解 Gradle "task"语法

jquery - 有人知道有一个带有 jQ​​uery 验证的自定义单选按钮/复选框实现吗?