Почему Altova валидирует все подряд JSON по схеме?

Всем привет, у меня такая проблема. Вернее даже не проблема, а такой вот забавный факт. Я имею JSONschema и пытаюсь по ней отвалидировать JSON. Работаю в Altova. Зачем я валидирую? ну я пытаюсь организовать первичное тестирование со стороны заказчика таким образом. В JSON schema я указываю соотвественно type и прочие параметры длины строк (maxLenght), максимума (maximum) и минимума (minimum).

"properties": {
        "Cd": {
            "description": "код ",
            "type": "string",
            "maxLength": 18
        },
        "Time": {
            "description": "Период",
            "type": "number",
            "minimum": 1,
            "maximum": 1000
        },
        "Stake": {
            "description": "стейк",
            "type": "number",
            "minimum": 0.01,
            "maximum": 100.00
        },
        "Name": {
            "description": "Название",
            "type": "string",
            "maxLength": 50
        },
        "product": {
            "description": "продукт",
            "type": "string",
            "maxLength": 20
        },
        "subproduct": {
            "description": "подпродукт",
            "type": "string",
            "maxLength": 20
        },
        "productId": {
            "description": "Ид продукт",
            "type": "string"
        },
        "curCd": {
            "description": "код кар",
            "type": "string",
            "maxLength": 3,
            "default": "RUB"
        },
        "Sum": {
            "description": "цена",
            "type": "number",
            "minimum": 0.00001,
            "maximum": 100000000000000000000000.00000
        },
        
    "required": [
        "Cd",
        "Time",
        "Stake",
        "Name",
        "product",
        "currCd",
        "Sum"

По-моему глубокому убеждению, если я валидирую JSON со значениями в полях не той длины, не того типа или не того размера, он не должен проходить валидацию по схеме. Однако... все ок, и старушка Альтова валидирует все подряд со всеми типами. Ок..пошел дальше, убрал поля, на которых выставлен атрибут обязательности requaired, нажал f8 и ... опять json is valid. Думаю, может я не так подключаю схему? Валидацию я прописываю в Validation against schema и вроде все верно. Может быть я чего-то не знаю о нотации JSON? Я считаю, что он должен валидироваться по тому же принципу, что и XML с XSD. При этом, в шапке схемы я указываю:

"$schema": "http://json-schema.org/schema#"

не могли бы мне помочь...


Ответы (1 шт):

Автор решения: Valeriy M. Raznomazov

Ох..наминусовали мне... И тем не менее, проблема была в том, что я на подключил draf-04. Его нужно было подключать следующим образом '''

"$schema": "http://json-schema.org/draft-04/schema#"

''' Что такое draft - 04. Это соответствующий релиз JSONschema и с ним можно ознакомиться тут https://json-schema.org/specification.html.

→ Ссылка