Skip to main content
Version: 0.9.0

arrayOf

Validate that every item in the array passes the supplied validator. A non-array value fails.

Signature

NguardValidators.Array.arrayOf(validator: ValidatorFn): ValidatorFn
ParameterTypeDescription
validatorValidatorFnThe validator applied to each item

Reactive forms

import { FormControl } from '@angular/forms';
import { NguardValidators } from 'ng-nguard';

// Every item must be a valid email
new FormControl(['a@b.com', 'c@d.com'], [
NguardValidators.Array.arrayOf(NguardValidators.String.email),
]);

Template-driven forms

<!-- bind a component property holding the per-item validator -->
<input ngModel name="emails" [nguardArrayOf]="itemValidator" />
import { NguardValidators } from 'ng-nguard';

class MyComponent {
public readonly itemValidator = NguardValidators.String.email;
}

Error key

{ arrayOf: true }

Notes

  • Each item is wrapped in a transient FormControl before being handed to the validator, so only self-contained item validators are supported — cross-field item rules (those reading a sibling) will not work.
  • An empty array passes. A non-array value fails.

See also