Исключить проблему в Cerberus 1.3.2 - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в Cerberus, недавно обновил версию Cerberus до 1.3.2 с 1.1. Но получаются ошибки проверки. Найдите схему проверки.

my_schema = 
{
    'email': {
        'type': 'string', 'maxlength': 1000,
        'regex': EMAIL_PATTERN, 'required': True
    },
    'guest': {
        'type': 'boolean', 'required': False,
        'excludes': ['password', 'issue_password_reset']
    },
    'password': {
        'type': 'string', 'minlength': 9, 'required': True,
        'excludes': 'issue_password_reset'
    },
    'prefix': {
        'type': 'string', 'nullable': True,
        'required': False, 'maxlength': 10
    },
    'first_name': {
        'type': 'string', 'nullable': True,
        'required': False, 'maxlength': 50
    },
    'last_name': {
        'type': 'string', 'nullable': True,
        'required': False, 'maxlength': 50
    },
    'phone_number': {
        'type': 'string', 'required': False,
        'nullable': True, 'regex': PHONE_NUMBER_PATTERN
    },
    'birthday': {
        'type': 'string', 'required': True,
        'excludes': 'is_legal_drinking_age'
    },
    'is_legal_drinking_age': {
        'type': 'boolean', 'required': True,
        'excludes': 'birthday'
    },
    'issue_password_reset': {
        'type': 'boolean', 'required': True,
        'excludes': 'password'
    },
}

data = {
        "email": "guest123@email.com",
        "guest": True,
        "birthday": "1975-05-05",
        "prefix": "Ms.",
        "first_name": "Allison",
        "last_name": "Smith",
        "phone_number": "(212) 555-2002"
    }

valid = Validator(default_schema)
resp = valid.validate(data)
print(valid.errors)
print(resp)

Для Cerberus версии 1.3.2 появляется ошибка

For Cerberus version 1.3.2, getting error

Для Cerberus версии 1.1 проверка работает правильно.

enter image description here

Надеюсь найти помощь.

1 Ответ

0 голосов
/ 14 июня 2020

Как отмечено здесь , поведение правильное, поскольку документ не содержит полей, которые определены как обязательные. На это указывают возвращенные ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...