31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
# example from root.cz
|
|
# https://www.root.cz/clanky/validace-dat-v-pythonu-s-vyuzitim-knihovny-pydantic/
|
|
|
|
from models.User import User, UserNone, UserUnion, UserPositiveInt, UserFieldValidator, UserMaxLength
|
|
|
|
|
|
def main():
|
|
print("Hello from pydantic-demo!")
|
|
print(f"{User(name="John", surname="Doe", age=42, registered=True)=}")
|
|
print(f"{User(name="Adam", surname="Bernau", age=52, registered=True)=}")
|
|
print(f"{UserNone(name="Adam", surname="Bernau", age=None)=}")
|
|
print(f"{UserUnion(name="Adam", surname="Bernau", age=None)=}")
|
|
print(f"{UserUnion(name="Adam", surname="Bernau")=}")
|
|
print(f"{UserPositiveInt(name="Adam", surname="Bernau")=}")
|
|
#print(f"{UserPositiveInt(name="Adam", surname="Bernau", age=-50)=}")
|
|
print(f"{UserFieldValidator(name="Adam", surname="Bernau", age=18)=}")
|
|
print(f"{UserMaxLength(name="Adam", surname="Bernau", age=18)=}")
|
|
#print(f"{UserMaxLength(name="Adam", surname="Bernaukjghsmtlmgchs", age=18)=}")
|
|
|
|
# JSON
|
|
data = """
|
|
{"name": "John",
|
|
"surname": "Doe",
|
|
"age": 18
|
|
}
|
|
"""
|
|
print(f"{UserMaxLength.model_validate_json(data)=}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|