首页 > 解决方案 > Angular6从控制器解耦formValidation

问题描述

所以目前我正在使用 Angular6 Reactive 表单模块来创建除了验证模块之外的表单。

form = new FormGroup({
groupOne: new FormGroup({
example: new FormControl('', Validation.required)
})
})

当然,这是一个非常基本的实现,但是当验证方法开始堆积,尤其是在大型表单上时,这变得非常冗长,是否有更谨慎的方法来处理这个问题,即将验证/规则与控制器分离?

干杯。

标签: angularangular6angular-reactive-forms

解决方案


您可以使用 FormBuilder 功能。这减少了定义 FormGroup 所需的代码量。

constructor(private fb: FormBuilder) {}

this.productForm = this.fb.group({
  productName: ['', [Validators.required,
                     Validators.minLength(3),
                     Validators.maxLength(50)]],
  productCode: ['', Validators.required],
  starRating: ['', NumberValidators.range(1, 5)],
  tags: this.fb.array([]),
  description: ''
});

fb上面代码中是FormBuilder。


推荐阅读