Angular 2 FormGroup验证类型

时间:2017-07-09 23:21:45

标签: forms angular validation

组件:

ngOnInit() {
    this.record = new FormGroup({
      movement: new FormControl(''),
      weight: new FormControl('', [Validators.required, Validators.minLength(1), Validators.maxLength(3)]),
      date: new FormControl('', [Validators.required]),
      comments: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(25)]),
    });
  }

查看:

<div class="column col-6">
            <div class="form-group">
              <label class="form-label">Weight</label>
              <input formControlName="weight" class="form-input" type="text" placeholder="Weight" />
            </div>
          </div>

<div class="column col-6">
            <div class="form-group">
              <label class="form-label">Date</label>
              <input formControlName="date" class="form-input" type="text" placeholder="Date" />
            </div>
          </div>

我已经完成了上述验证工作,但是我需要更改weight上的验证器,只接受date上的数值和验证器以接受特定格式{{ 1}}。

我一直在寻找,并且没有找到任何内置的方法来做到这一点。有没有人有什么建议?谢谢!

1 个答案:

答案 0 :(得分:1)

Angular中只有少量的内置表单验证规则。

  • 必需
  • 的minLength
  • 最大长度
  • 模式(您可以用于电子邮件)

修改

更多内置:

  • 分钟
  • 最大
  • 电子邮件
  • nullValidator
  • requiredTrue

Validators API(谢谢你,@ developer033)

如果你想做除此之外的任何事情,你必须自己编码。他们并不困难。

您可以在以下链接中找到有关如何构建和使用自定义验证器的示例。

Custom validation

如果您碰巧有Pluralsight订阅,Deborah Kurata在Angular Reactive Forms上有一个很棒的课程,并且在验证模块中有一两个自定义表单验证。