RawObjectDataProcessor
— Ошибки и предупреждения о невалидных данных
- Сообщения об ошибках валидации
RAW_DATA_IS_NOT_OBJECT
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
mutuallyExclusiveTransformationsBetweenUndefinedAndNull
preValidationModificationFailed
propertyUndefinedabilityNotSpecified
propertyNullabilityNotSpecified
dataTypeNotSpecified
unableToDeletePropertyWithOutdatedKey
unableToChangePropertyDescriptors
unableToUpdatePropertyValue
mutuallyExclusiveAssociativeArrayKeysLimitations
incompatibleValuesTypesAlternatives
- Предупреждения
Сообщения об ошибках валидации
Термин «ошибка валидации» является неоднозначным и не обязательно подразумевает, что будет брошено исключение. Если реальные данные, переданные через первый параметр метода process
не соответствуют указанной спецификации, то будет возвращён объект со свойствами isRawDataInvalid: true
и validationErrorsMessages
, последнее их которых будет содержать как минимум одно из сообщений об ошибке валидации, а что в этом случае делать (в частности бросать исключение или нет) — зависит от технического задания и программиста.
RAW_DATA_IS_NOT_OBJECT
Возникает, когда переданные через первый параметр метода process
данные не являются объектом.
Класс RawObjectDataProcessor предназначен для обработки только данных типа «объект» (в том числе индексные массивы), потому если передать данные какого-либо другого типа (например, строку), то обработка данных тут же завершится.