class final
Provides a set of built-in validators that can be used by form controls.
class Validators {
static min(min: number): ValidatorFn
static max(max: number): ValidatorFn
static required(control: AbstractControl<any, any>): ValidationErrors | null
static requiredTrue(control: AbstractControl<any, any>): ValidationErrors | null
static email(control: AbstractControl<any, any>): ValidationErrors | null
static minLength(minLength: number): ValidatorFn
static maxLength(maxLength: number): ValidatorFn
static pattern(pattern: string | RegExp): ValidatorFn
static nullValidator(control: AbstractControl<any, any>): ValidationErrors | null
static compose(validators: ValidatorFn[]): ValidatorFn | null
static composeAsync(validators: AsyncValidatorFn[]): AsyncValidatorFn | null
} A validator is a function that processes a FormControl or collection of controls and returns an error map or null. A null map means that validation has passed.
| min() | |||
|---|---|---|---|
| Validator that requires the control's value to be greater than or equal to the provided number. See also: | |||
|
min | number |
ValidatorFn: A validator function that returns an error map with the min property if the validation check fails, otherwise null.
const control = new FormControl(2, Validators.min(3));
console.log(control.errors); // {min: {min: 3, actual: 2}} | max() | |||
|---|---|---|---|
| Validator that requires the control's value to be less than or equal to the provided number. See also: | |||
|
max | number |
ValidatorFn: A validator function that returns an error map with the max property if the validation check fails, otherwise null.
const control = new FormControl(16, Validators.max(15));
console.log(control.errors); // {max: {max: 15, actual: 16}} | required() | |||
|---|---|---|---|
| Validator that requires the control have a non-empty value. See also: | |||
|
control | AbstractControl<any, any> |
ValidationErrors | null: An error map with the required property if the validation check fails, otherwise null.
const control = new FormControl('', Validators.required);
console.log(control.errors); // {required: true} | requiredTrue() | |||
|---|---|---|---|
| Validator that requires the control's value be true. This validator is commonly used for required checkboxes. See also: | |||
|
control | AbstractControl<any, any> |
ValidationErrors | null: An error map that contains the required property set to true if the validation check fails, otherwise null.
const control = new FormControl('some value', Validators.requiredTrue);
console.log(control.errors); // {required: true} | email() | |||
|---|---|---|---|
| Validator that requires the control's value pass an email validation test. See also: | |||
|
control | AbstractControl<any, any> |
ValidationErrors | null: An error map with the email property if the validation check fails, otherwise null.
Tests the value using a regular expression pattern suitable for common use cases. The pattern is based on the definition of a valid email address in the WHATWG HTML specification with some enhancements to incorporate more RFC rules (such as rules related to domain names and the lengths of different parts of the address).
The differences from the WHATWG version include:
local-part (the part before the @ symbol) to begin or end with a period (.).local-part to be longer than 64 characters.If this pattern does not satisfy your business needs, you can use Validators.pattern() to validate the value against a different pattern.
const control = new FormControl('bad@', Validators.email);
console.log(control.errors); // {email: true} | minLength() | |||
|---|---|---|---|
| Validator that requires the length of the control's value to be greater than or equal to the provided minimum length. This validator is also provided by default if you use the the HTML5 See also: | |||
|
minLength | number |
ValidatorFn: A validator function that returns an error map with the minlength property if the validation check fails, otherwise null.
const control = new FormControl('ng', Validators.minLength(3));
console.log(control.errors); // {minlength: {requiredLength: 3, actualLength: 2}} <input minlength="5">
| maxLength() | |||
|---|---|---|---|
| Validator that requires the length of the control's value to be less than or equal to the provided maximum length. This validator is also provided by default if you use the the HTML5 See also: | |||
|
maxLength | number |
ValidatorFn: A validator function that returns an error map with the maxlength property if the validation check fails, otherwise null.
const control = new FormControl('Angular', Validators.maxLength(5));
console.log(control.errors); // {maxlength: {requiredLength: 5, actualLength: 7}} <input maxlength="5">
| pattern() | |||
|---|---|---|---|
| Validator that requires the control's value to match a regex pattern. This validator is also provided by default if you use the HTML5 See also: | |||
|
pattern | string | RegExp | A regular expression to be used as is to test the values, or a string. If a string is passed, the |
ValidatorFn: A validator function that returns an error map with the pattern property if the validation check fails, otherwise null.
const control = new FormControl('1', Validators.pattern('[a-zA-Z ]*'));
console.log(control.errors); // {pattern: {requiredPattern: '^[a-zA-Z ]*$', actualValue: '1'}} <input pattern="[a-zA-Z ]*">
RegExp objects created with the g or y flags that are passed into Validators.pattern can produce different results on the same input when validations are run consecutively. This is due to how the behavior of RegExp.prototype.test is specified in ECMA-262 (RegExp preserves the index of the last match when the global or sticky flag is used). Due to this behavior, it is recommended that when using Validators.pattern you do not pass in a RegExp object with either the global or sticky flag enabled.
// Not recommended (since the `g` flag is used)
const controlOne = new FormControl('1', Validators.pattern(/foo/g));
// Good
const controlTwo = new FormControl('1', Validators.pattern(/foo/)); | nullValidator() | |||
|---|---|---|---|
| Validator that performs no operation. See also: | |||
|
control | AbstractControl<any, any> |
ValidationErrors | null
| compose() | |||
|---|---|---|---|
| Compose multiple validators into a single function that returns the union of the individual error maps for the provided control. |
validators | null |
null: A validator function that returns an error map with the merged error maps of the validators if the validation check fails, otherwise null.
static compose(validators: ValidatorFn[]): ValidatorFn | null validators | ValidatorFn[] |
ValidatorFn | null
| composeAsync() | |||
|---|---|---|---|
| Compose multiple async validators into a single function that returns the union of the individual error objects for the provided control. See also: | |||
|
validators | AsyncValidatorFn[] |
AsyncValidatorFn | null: A validator function that returns an error map with the merged error objects of the async validators if the validation check fails, otherwise null.
© 2010–2023 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/forms/Validators