FormErrorHandler
Defined in: core/utils/error-handler.ts:78
Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Π΄Π»Ρ ΡΠΎΡΠΌ
ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ:
- ΠΠ΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π² DEV ΡΠ΅ΠΆΠΈΠΌΠ΅
- ΠΠΈΠ±ΠΊΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (throw/log/convert)
- Π’ΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· Error/string/unknown
Exampleβ
// Π async validator (ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ValidationError)
try {
await validateEmail(value);
} catch (error) {
return FormErrorHandler.handle(error, 'EmailValidator', ErrorStrategy.CONVERT);
}
// Π behavior applicator (ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ)
try {
applyBehavior(schema);
} catch (error) {
FormErrorHandler.handle(error, 'BehaviorApplicator', ErrorStrategy.THROW);
}
// Π validator (Π·Π°Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ)
try {
validator(value);
} catch (error) {
FormErrorHandler.handle(error, 'Validator', ErrorStrategy.LOG);
}
Constructorsβ
Constructorβ
new FormErrorHandler(): FormErrorHandler;
Returnsβ
FormErrorHandler
Methodsβ
createValidationError()β
static createValidationError(
code,
message,
field?): ValidationError;
Defined in: core/utils/error-handler.ts:214
Π‘ΠΎΠ·Π΄Π°ΡΡ ValidationError Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
Π£ΡΠΈΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ValidationError ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Parametersβ
codeβ
string
ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ
messageβ
string
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
field?β
string
ΠΠΎΠ»Π΅ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
Returnsβ
ValidationError ΠΎΠ±ΡΠ΅ΠΊΡ
Exampleβ
const error = FormErrorHandler.createValidationError(
'required',
'This field is required',
'email'
);
// { code: 'required', message: 'This field is required', field: 'email' }
handle()β
static handle(
error,
context,
strategy): void | ValidationError;
Defined in: core/utils/error-handler.ts:118
ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ
Parametersβ
errorβ
unknown
ΠΡΠΈΠ±ΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (Error | string | unknown)
contextβ
string
ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 'AsyncValidator', 'BehaviorRegistry')
strategyβ
ErrorStrategy = ErrorStrategy.THROW
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (THROW | LOG | CONVERT)
Returnsβ
void | ValidationError
ValidationError Π΅ΡΠ»ΠΈ strategy = CONVERT, undefined Π΅ΡΠ»ΠΈ strategy = LOG, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΅ΡΠ»ΠΈ strategy = THROW
Exampleβ
// THROW - ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ
try {
riskyOperation();
} catch (error) {
FormErrorHandler.handle(error, 'RiskyOperation', ErrorStrategy.THROW);
// ΠΡΠΎΡ ΠΊΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ
}
// LOG - Π·Π°Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
try {
nonCriticalOperation();
} catch (error) {
FormErrorHandler.handle(error, 'NonCritical', ErrorStrategy.LOG);
// ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
}
// CONVERT - ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ValidationError
try {
await validator(value);
} catch (error) {
const validationError = FormErrorHandler.handle(
error,
'AsyncValidator',
ErrorStrategy.CONVERT
);
return validationError;
}
isValidationError()β
static isValidationError(value): value is ValidationError;
Defined in: core/utils/error-handler.ts:237
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ValidationError
Type guard Π΄Π»Ρ ValidationError
Parametersβ
valueβ
unknown
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
Returnsβ
value is ValidationError
true Π΅ΡΠ»ΠΈ value ΡΠ²Π»ΡΠ΅ΡΡΡ ValidationError
Exampleβ
if (FormErrorHandler.isValidationError(result)) {
console.log(result.code); // OK, ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ
}