Validator

From Get docs
< @angular/formsAngular/docs/10/api/forms/validator


Validator

interface

An interface implemented by classes that perform synchronous validation.

interface Validator {
  validate(control: AbstractControl): ValidationErrors | null
  registerOnValidatorChange(fn: () => void)?: void
}

Child interfaces

  • AsyncValidator


Class implementations

  • EmailValidator
  • MaxLengthValidator
  • MinLengthValidator
  • PatternValidator
  • RequiredValidator
    • CheckboxRequiredValidator


Methods

Method that performs synchronous validation against the provided control.

validate(control: AbstractControl): ValidationErrors | null

Parameters
control AbstractControl The control to validate against.
Returns

ValidationErrors | null: A map of validation errors if validation fails, otherwise null.


Registers a callback function to call when the validator inputs change.

registerOnValidatorChange(fn: () => void)?: void

Parameters
fn () => void The callback function
Returns

void


Usage notes

Provide a custom validator

The following example implements the Validator interface to create a validator directive with a custom error key.

@Directive({
  selector: '[customValidator]',
  providers: [{provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true}]
})
class CustomValidatorDirective implements Validator {
  validate(control: AbstractControl): ValidationErrors|null {
    return {'custom': true};
  }
}

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v10.angular.io/api/forms/Validator