Рубрики
Без рубрики

Валидация формы в Python сделана #ez (по-настоящему)

Посмотрев библиотеку NPM под названием Joi, я был поражен тем, что он мог сделать, и как это могло сделать … Помечено Python, WebDev, Security, Flask.

Посмотрев на библиотеку NPM под названием жой Я был поражен тем, что он мог сделать, и как это может облегчить проверку формы JavaScript.

Я также разочаровался, что подобная библиотека не существовала для Python, которая была рамочной независимой, поэтому я создал один!

Добро пожаловать в Donttrust.

Donttrust – это библиотека валидации формы Python, которая вдохновлена жой . Это похоже на Джой, но это не хватает немного в функциях. Прежде чем мы посмотрим на его функции, мы должны установить его:

pip install donttrust

Схемы

Схемы – это то, что определяют поле в вашей форме. В настоящее время есть 6 видов схем:

  • нить
  • номер (включает int , float и комплекс Несомненно
  • Эл. адрес
  • Дата
  • логический
  • любой тип

Инициализировать схему:

from donttrust import Schema

username_field = Schema("username")

«Имя пользователя» Параметр в Схема Необязательно, но рекомендуется, потому что сообщения об ошибках будут отформатированы с ним.

Создать схему определенного типа,

username_field = Schema("username").string()
# or .number(), .boolean(), .email(), etc

Подтвердить схему

Есть два способа проверки схемы:

# With an exception
from donttrust import Schema
from donttrust.exceptions import DontTrustBaseException

username = Schema().required().string()

try:
    print(username.validate(1234))
except DontTrustBaseException as e:
    # Exception thrown
    print(e.message)
# By returning false instead of an exception
from donttrust import Schema

username = Schema().required().string()
print(username.validate_without_exception(1234))  # False
print(username.validate_without_exception("test"))  # test

Не доверяйте классу

Donttrust Класс позволяет объединять 1 или более схем вместе.

from donttrust import DontTrust, Schema, ValidationError

try:
    trust = DontTrust(username=Schema().string().required().alphanum().min(4).max(32).strip().to_lower()
                      password=Schema().string().required().min(8))

    print(trust.validate(username="UseRNAME    ", password="pas5word1"))  # {"username": "username", "password": "pas5word1"}
    print(trust.validate({"username": "1NV@LID"}))  # Exception
except ValidationError as e:
    print(e.message)

И это это для этой библиотеки Python! Для получения дополнительной информации посетите Документы , API Ссылка или Репозиторий GitHub * (и опустите звезду, пока вы там ❤️)

Если у вас есть какие-либо предложения для этого проекта, создайте проблему GitHub или комментируйте его ниже. Я сделаю все возможное, чтобы реализовать его 🥳

Оригинал: “https://dev.to/arnu515/form-validation-in-python-made-ez-by-yours-truly-p8o”