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