问题
How do I store Multiple Validators into a Constant and use in Reactive FormBuilder? The following will apply 1 validator. 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]],
We need to store a whole multiple array into a constant. This is multiple validators for latitude and longitude.
Validators.maxLength(32),
Validators.min(-90),
Validators.max(90),
Validators.pattern(/^\d*\.?\d*$/)
I tried doing the following, it is not working
export const LatitudeLongitudeValidator = [Validators.maxLength(32),Validators.min(-90),Validators.max(90),Validators.pattern(/^\d*\.?\d*$/)];
'latitude': [null, [LatitudeLongitudeValidator]],
回答1:
You can have array of all these validations and then using spread operator use that array inside validator,
export const CustomValidation = [
Validators.maxLength(32),
Validators.min(-90),
Validators.max(90),
Validators.pattern(/^\d*\.?\d*$/)
]
Use this array in formgroup,
'formField': ['', [ ...CustomValidation ]],
Spread operator is 3 periods dots ...
just before array variable.
来源:https://stackoverflow.com/questions/59465475/store-multiple-validators-into-a-constant-in-angular-8-reactive-formbuilders