Yamato DaiwaE(CMA)S(cript) extensions

RawObjectDataProcessor — Ошибки и предупреждения о невалидных данных

Сообщения об ошибках валидации

Термин «ошибка валидации» является неоднозначным и не обязательно подразумевает, что будет брошено исключение. Если реальные данные, переданные через первый параметр метода process не соответствуют указанной спецификации, то будет возвращён объект со свойствами isRawDataInvalid: true и validationErrorsMessages, последнее их которых будет содержать как минимум одно из сообщений об ошибке валидации, а что в этом случае делать (в частности бросать исключение или нет) — зависит от технического задания и программиста.

RAW_DATA_IS_NOT_OBJECT

Возникает, когда переданные через первый параметр метода process данные не являются объектом.

Класс RawObjectDataProcessor предназначен для обработки только данных типа «объект» (в том числе индексные массивы), потому если передать данные какого-либо другого типа (например, строку), то обработка данных тут же завершится.

RAW_DATA_IS_NULL

VALUE_TYPE_DOES_NOT_MATCH_WITH_EXPECTED

PRE_VALIDATION_MODIFICATION_FAILED

FORBIDDEN_UNDEFINED_VALUE

CONDITIONALLY_FORBIDDEN_UNDEFINED_VALUE

CONDITIONALLY_FORBIDDEN_NON_UNDEFINED_VALUE

FORBIDDEN_NULL_VALUE

CONDITIONALLY_FORBIDDEN_NULL_VALUE

CONDITIONALLY_FORBIDDEN_NON_NULL_VALUE

UNABLE_TO_DELETE_PROPERTY_WITH_OUTDATED_KEY

UNABLE_TO_CHANGE_PROPERTY_DESCRIPTORS

UNABLE_TO_UPDATE_PROPERTY_VALUE

UNEXPECTED_PROPERTIES

CUSTOM_VALIDATION_FAILED

ASSOCIATIVE_ARRAY_ENTRIES_COUNT_IS_LESS_THAN_REQUIRED_MINIMUM

ASSOCIATIVE_ARRAY_PAIRS_COUNT_IS_MORE_THAN_ALLOWED_MAXIMUM

ASSOCIATIVE_ARRAY_PAIRS_COUNT_DOES_NOT_MATCH_WITH_SPECIFIED_EXACT_NUMBER

FORBIDDEN_FOR_SPECIFIC_KEYS_UNDEFINED_OR_NULL_VALUES_FOUND_IN_ASSOCIATIVE_ARRAY_TYPE_OBJECT

DISALLOWED_KEYS_FOUND_IN_ASSOCIATIVE_ARRAY

INDEXED_ARRAY_ELEMENTS_COUNT_IS_LESS_THAN_REQUIRED_MINIMUM

INDEXED_ARRAY_ELEMENTS_COUNT_IS_MORE_THAN_ALLOWED_MAXIMUM

INDEXED_ARRAY_ELEMENTS_COUNT_DOES_NOT_MATCH_WITH_SPECIFIED_EXACT_NUMBER

NUMERIC_VALUE_IS_NOT_BELONG_TO_EXPECTED_NUMBERS_SET

VALUE_IS_NOT_AMONG_ALLOWED_ALTERNATIVES

NUMERIC_VALUE_IS_SMALLER_THAN_REQUIRED_MINIMUM

NUMERIC_VALUE_IS_GREATER_THAN_ALLOWED_MAXIMUM

CHARACTERS_COUNT_IS_LESS_THAN_REQUIRED

CHARACTERS_COUNT_IS_MORE_THAN_ALLOWED

CHARACTERS_COUNT_DOES_NOT_MATCH_WITH_SPECIFIED

REGULAR_EXPRESSION_MISMATCH

DISALLOWED_BOOLEAN_VALUE_VARIANT

Бросаемые ошибки

objectSchemaNotSpecified

preValidationModificationFailed

mutuallyExclusiveTransformationsBetweenUndefinedAndNull

propertyUndefinedabilityNotSpecified

propertyNullabilityNotSpecified

dataTypeNotSpecified

unableToDeletePropertyWithOutdatedKey

unableToChangePropertyDescriptors

unableToUpdatePropertyValue

mutuallyExclusiveAssociativeArrayKeysLimitations

incompatibleValuesTypesAlternatives

Предупреждения

preValidationModificationFailed

unableToDeletePropertyWithOutdatedKey

unableToChangePropertyDescriptors

unableToUpdatePropertyValue