【问题标题】:Store Multiple Validators into a Constant in Angular 8 Reactive FormBuilders在Angular 8 Reactive FormBuilders中将多个验证器存储到一个常量中
【发布时间】:2020-04-15 08:12:10
【问题描述】:

如何将多个验证器存储到一个常量中并在 Reactive FormBuilder 中使用? 以下将应用 1 个验证器。 Store and Use Regex Const Validator in Angular 8 Reactive Formbuilder

export const ZipValidation = Validators.pattern(/^\d{1,5}$/);

'ZipCode': [null, [Validators.maxLength(16), ZipValidation]],

我们需要将整个多重数组存储到一个常量中。 这是纬度和经度的多个验证器。

Validators.maxLength(32),
Validators.min(-90),
Validators.max(90),
Validators.pattern(/^\d*\.?\d*$/)

我尝试了以下操作,它不起作用

export const LatitudeLongitudeValidator = [Validators.maxLength(32),Validators.min(-90),Validators.max(90),Validators.pattern(/^\d*\.?\d*$/)];

'latitude': [null, [LatitudeLongitudeValidator]],

【问题讨论】:

  • 你可以使用this

标签: angular typescript angular-reactive-forms angular8


【解决方案1】:

您可以拥有所有这些验证的数组,然后使用扩展运算符在验证器中使用该数组,

export const CustomValidation = [
    Validators.maxLength(32),
    Validators.min(-90),
    Validators.max(90),
    Validators.pattern(/^\d*\.?\d*$/)
]

在formgroup中使用这个数组,

'formField': ['', [ ...CustomValidation ]],

扩展运算符是数组变量之前的 3 个句点 ...

【讨论】:

  • 你需要使用扩展运算符...,这样做'latitude': [null, [...LatitudeLongitudeValidator]],
猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 2018-08-09
  • 2019-11-21
  • 2021-04-13
  • 2021-12-09
  • 2020-04-15
  • 1970-01-01
  • 2021-02-28
相关资源
最近更新 更多