Skip to main content

ValidationRegistry

Defined in: core/validation/validation-registry.ts:94

Реестр валидаторов для формы

Каждый экземпляр GroupNode создает собственный реестр (композиция). Устраняет race conditions и изолирует формы друг от друга.

Наследует AbstractRegistry для унификации:

  • Управления global stack
  • Template methods begin/end registration

Example

class GroupNode {
private readonly validationRegistry = new ValidationRegistry();

applyValidationSchema(schemaFn) {
this.validationRegistry.beginRegistration(); // Pushes this to global stack
schemaFn(createFieldPath(this)); // Uses getCurrent()
this.validationRegistry.endRegistration(this); // Pops from global stack
}
}

Extends

Constructors

Constructor

new ValidationRegistry(): ValidationRegistry;

Returns

ValidationRegistry

Inherited from

AbstractRegistry.constructor

Methods

beginRegistration()

beginRegistration(): RegistrationContext;

Defined in: core/validation/validation-registry.ts:127

Начать регистрацию валидаторов для формы

Помещает this в global stack для изоляции форм Создает новый RegistrationContext для condition management

Returns

RegistrationContext

Overrides

AbstractRegistry.beginRegistration


cancelRegistration()

cancelRegistration(): void;

Defined in: core/validation/validation-registry.ts:174

Отменить регистрацию без применения валидаторов Используется для временной валидации (например, в validateForm)

Извлекает this из global stack

Returns

void

Overrides

AbstractRegistry.cancelRegistration


completeRegistration()

protected completeRegistration(registryName): void;

Defined in: core/utils/abstract-registry.ts:130

Завершить регистрацию и извлечь из стека

Parameters

registryName

string

Имя реестра для отладки

Returns

void

Inherited from

AbstractRegistry.completeRegistration


endRegistration()

endRegistration<T>(form): void;

Defined in: core/validation/validation-registry.ts:145

Завершить регистрацию и применить валидаторы к GroupNode

Извлекает this из global stack

Сохраняет валидаторы в локальном состоянии (this.validators) вместо глобального WeakMap.

Type Parameters

T

T extends FormFields

Parameters

form

GroupNode<T>

Returns

void


enterCondition()

enterCondition(fieldPath, conditionFn): void;

Defined in: core/validation/validation-registry.ts:256

Войти в условный блок

Parameters

fieldPath

string

conditionFn

ConditionFn<unknown>

Returns

void


exitCondition()

exitCondition(): void;

Defined in: core/validation/validation-registry.ts:268

Выйти из условного блока

Returns

void


getCurrent()

static getCurrent(): ValidationRegistry | null;

Defined in: core/validation/validation-registry.ts:117

Получить текущий активный реестр из global stack

Returns

ValidationRegistry | null

Текущий активный реестр или null

Example

// В schema-validators.ts
export function required(...) {
const registry = ValidationRegistry.getCurrent();
if (registry) {
registry.registerSync(...);
}
}

getCurrentContext()

getCurrentContext(): RegistrationContext | undefined;

Defined in: core/validation/validation-registry.ts:187

Получить текущий контекст регистрации

Returns

RegistrationContext | undefined


getCurrentFromStack()

protected static getCurrentFromStack<T>(ctor): T | null;

Defined in: core/utils/abstract-registry.ts:79

Получить текущий активный реестр из стека Должен быть переопределен в наследниках как static метод

Type Parameters

T

T extends AbstractRegistry<any>

Parameters

ctor

(...args) => T

Конструктор класса реестра

Returns

T | null

Текущий активный реестр или null

Inherited from

AbstractRegistry.getCurrentFromStack


getRegistrations()

getRegistrations(): ValidatorRegistration[];

Defined in: core/utils/abstract-registry.ts:113

Получить зарегистрированные элементы

Returns

ValidatorRegistration[]

Inherited from

AbstractRegistry.getRegistrations


getStack()

protected static getStack<T>(ctor): RegistryStack<T>;

Defined in: core/utils/abstract-registry.ts:61

Получить стек для конкретного класса реестра Создает новый стек если не существует

Type Parameters

T

T extends AbstractRegistry<any>

Parameters

ctor

(...args) => T

Конструктор класса реестра

Returns

RegistryStack<T>

RegistryStack для данного класса

Inherited from

AbstractRegistry.getStack


getValidators()

getValidators(): ValidatorRegistration[];

Defined in: core/validation/validation-registry.ts:311

Получить зарегистрированные валидаторы для этого реестра

Возвращает локальный массив валидаторов (без аргумента form).

Returns

ValidatorRegistration[]


isActive()

isActive(): boolean;

Defined in: core/utils/abstract-registry.ts:106

Проверить, активна ли регистрация

Returns

boolean

Inherited from

AbstractRegistry.isActive


onBeginRegistration()

protected onBeginRegistration(): void;

Defined in: core/utils/abstract-registry.ts:121

Hook: вызывается в начале регистрации Может быть переопределен в наследниках для инициализации

Returns

void

Inherited from

AbstractRegistry.onBeginRegistration


registerArrayItemValidation()

registerArrayItemValidation(fieldPath, itemSchemaFn): void;

Defined in: core/validation/validation-registry.ts:286

Зарегистрировать validation schema для элементов массива

Используется функцией validateItems() для регистрации схемы валидации, которая будет применяться к каждому элементу ArrayNode.

Parameters

fieldPath

string

Путь к ArrayNode полю

itemSchemaFn

unknown

Validation schema для элемента массива

Returns

void


registerAsync()

registerAsync<TForm, TField>(
fieldPath,
validator,
options?): void;

Defined in: core/validation/validation-registry.ts:215

Зарегистрировать асинхронный валидатор

Type Parameters

TForm

TForm = unknown

TField

TField = unknown

Parameters

fieldPath

string

validator

ContextualAsyncValidatorFn<TForm, TField>

options?

ValidateAsyncOptions

Returns

void


registerSync()

registerSync<TForm, TField>(
fieldPath,
validator,
options?): void;

Defined in: core/validation/validation-registry.ts:194

Зарегистрировать синхронный валидатор

Type Parameters

TForm

TForm = unknown

TField

TField = unknown

Parameters

fieldPath

string

validator

ContextualValidatorFn<TForm, TField>

options?

ValidateOptions

Returns

void


registerTree()

registerTree<TForm>(validator, options?): void;

Defined in: core/validation/validation-registry.ts:236

Зарегистрировать tree валидатор

Type Parameters

TForm

TForm = unknown

Parameters

validator

TreeValidatorFn<TForm>

options?

ValidateTreeOptions

Returns

void

Properties

isRegistering

protected isRegistering: boolean = false;

Defined in: core/utils/abstract-registry.ts:48

Флаг активной регистрации

Inherited from

AbstractRegistry.isRegistering


registrations

protected registrations: ValidatorRegistration[] = [];

Defined in: core/utils/abstract-registry.ts:51

Массив зарегистрированных элементов

Inherited from

AbstractRegistry.registrations