Валидаторы
Предоставляет набор встроенных валидаторов, которые можно использовать для элементов управления формы.
API
class Validators {
static min(min: number): ValidatorFn;
static max(max: number): ValidatorFn;
static required(control: AbstractControl<any, any, any>): ValidationErrors | null;
static requiredTrue(control: AbstractControl<any, any, any>): ValidationErrors | null;
static email(control: AbstractControl<any, 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, any>): ValidationErrors | null;
static compose(validators: null): null;
static compose(validators: (ValidatorFn | null | undefined)[]): ValidatorFn | null;
static composeAsync(validators: (AsyncValidatorFn | null)[]): AsyncValidatorFn | null;
}
min
ValidatorFnВалидатор, который требует, чтобы значение элемента управления было больше или равно заданному числу.
number
ValidatorFnФункция-валидатор, которая возвращает карту ошибок со свойством min, если проверка не пройдена, и null в противном случае.
Проверка на минимальное значение 3
const control = new FormControl(2, Validators.min(3));
console.log(control.errors); // {min: {min: 3, actual: 2}}
max
ValidatorFnВалидатор, который требует, чтобы значение элемента управления было меньше или равно заданному числу.
number
ValidatorFnФункция-валидатор, которая возвращает карту ошибок со свойством max, если проверка не пройдена, и null в противном случае.
Проверка на максимальное значение 15
const control = new FormControl(16, Validators.max(15));
console.log(control.errors); // {max: {max: 15, actual: 16}}
required
ValidationErrors | nullВалидатор, который требует, чтобы значение элемента управления не было пустым.
ValidationErrors | nullКарта ошибок со свойством required, если проверка не пройдена, и null в противном случае.
Проверка того, что поле не пустое
const control = new FormControl('', Validators.required);
console.log(control.errors); // {required: true}
requiredTrue
ValidationErrors | nullВалидатор, который требует, чтобы значение элемента управления было равно true. Этот валидатор часто используется для обязательных флажков.
ValidationErrors | nullКарта ошибок, содержащая свойство required со значением true, если проверка не пройдена, и null в противном случае.
Проверка того, что значение поля равно true
const control = new FormControl('some value', Validators.requiredTrue);
console.log(control.errors); // {required: true}
ValidationErrors | nullВалидатор, который требует, чтобы значение элемента управления прошло проверку адреса электронной почты.
Проверяет значение с помощью шаблона регулярного выражения, подходящего для распространённых случаев использования. Шаблон основан на определении действительного адреса электронной почты из спецификации WHATWG HTML и дополнен некоторыми правилами RFC (например, правилами для доменных имён и длины различных частей адреса).
Отличия от версии WHATWG:
- Запрещено, чтобы
local-part(часть перед символом@) начиналась или заканчивалась точкой (.). - Запрещено, чтобы длина
local-partпревышала 64 символа. - Запрещено, чтобы длина всего адреса превышала 254 символа.
Если этот шаблон не подходит для ваших бизнес-требований, можно использовать Validators.pattern(), чтобы проверить значение по другому шаблону.
ValidationErrors | nullКарта ошибок со свойством email, если проверка не пройдена, и null в противном случае.
Проверка соответствия поля допустимому шаблону адреса электронной почты
const control = new FormControl('bad@', Validators.email);
console.log(control.errors); // {email: true}
minLength
ValidatorFnВалидатор, который требует, чтобы количество элементов в значении элемента управления было больше или равно заданной минимальной длине. Этот валидатор также предоставляется по умолчанию при использовании атрибута HTML5 minlength. Обратите внимание, что валидатор minLength предназначен только для типов с числовым свойством length или size, например строк, массивов или множеств. Логика валидатора minLength также не выполняется для значений, у которых свойство length или size равно 0 (например, для пустой строки или пустого массива), чтобы поддерживать необязательные элементы управления. Если пустые значения не должны считаться допустимыми, можно использовать стандартный валидатор required.
number
ValidatorFnФункция-валидатор, которая возвращает карту ошибок со свойством minlength, если проверка не пройдена, и null в противном случае.
Проверка того, что поле содержит не менее 3 символов
const control = new FormControl('ng', Validators.minLength(3));
console.log(control.errors); // {minlength: {requiredLength: 3, actualLength: 2}}
<input minlength="5">
maxLength
ValidatorFnВалидатор, который требует, чтобы количество элементов в значении элемента управления было меньше или равно заданной максимальной длине. Этот валидатор также предоставляется по умолчанию при использовании атрибута HTML5 maxlength. Обратите внимание, что валидатор maxLength предназначен только для типов с числовым свойством length или size, например строк, массивов или множеств.
number
ValidatorFnФункция-валидатор, которая возвращает карту ошибок со свойством maxlength, если проверка не пройдена, и null в противном случае.
Проверка того, что поле содержит не более 5 символов
const control = new FormControl('Angular', Validators.maxLength(5));
console.log(control.errors); // {maxlength: {requiredLength: 5, actualLength: 7}}
<input maxlength="5">
pattern
ValidatorFnВалидатор, который требует, чтобы значение элемента управления соответствовало шаблону регулярного выражения. Этот валидатор также предоставляется по умолчанию при использовании атрибута HTML5 pattern.
string | RegExpРегулярное выражение, которое используется без изменений для проверки значений, или строка. Если передана строка, к ней добавляется символ ^ в начале и символ $ в конце (если их ещё нет), а полученное регулярное выражение используется для проверки значений.
ValidatorFnФункция-валидатор, которая возвращает карту ошибок со свойством pattern, если проверка не пройдена, и 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 ]*">
Сопоставление с шаблоном при глобальном или sticky-флаге
RegExp-объекты, созданные с флагами g или y и переданные в Validators.pattern, могут давать разные результаты для одного и того же ввода при последовательном запуске проверок. Это связано с тем, как поведение RegExp.prototype.test определено в ECMA-262 (RegExp сохраняет индекс последнего совпадения при использовании глобального или sticky-флага). Учитывая это поведение, при использовании Validators.pattern рекомендуется не передавать объект RegExp с включённым глобальным или sticky-флагом.
// 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
ValidationErrors | nullВалидатор, который ничего не выполняет.
ValidationErrors | null
compose
2 перегрузкиОбъединяет несколько валидаторов в одну функцию, которая возвращает объединение отдельных карт ошибок для указанного элемента управления.
null
nullФункция-валидатор, которая возвращает карту ошибок с объединёнными картами ошибок валидаторов, если проверка не пройдена, и null в противном случае.
ValidatorFn | null
composeAsync
AsyncValidatorFn | nullОбъединяет несколько асинхронных валидаторов в одну функцию, которая возвращает объединение отдельных объектов ошибок для указанного элемента управления.
AsyncValidatorFn | nullФункция-валидатор, которая возвращает карту ошибок с объединёнными объектами ошибок асинхронных валидаторов, если проверка не пройдена, и null в противном случае.
Описание
Предоставляет набор встроенных валидаторов, которые можно использовать для элементов управления формы.
Валидатор — это функция, которая обрабатывает FormControl или набор элементов управления и возвращает карту ошибок либо null. Карта со значением null означает, что проверка пройдена.
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/forms/Validators