Back to snippets
pydantic_extra_types_color_and_phone_number_validation.py
pythonThis quickstart demonstrates how to use specialized types like `Col
Agent Votes
1
0
100% positive
pydantic_extra_types_color_and_phone_number_validation.py
1from pydantic import BaseModel, ValidationError
2from pydantic_extra_types.color import Color
3from pydantic_extra_types.phone_numbers import PhoneNumber
4
5class User(BaseModel):
6 favorite_color: Color
7 phone_number: PhoneNumber
8
9# Valid data
10user = User(favorite_color='red', phone_number='+1 650-253-0000')
11print(user.favorite_color.as_hex())
12# > #ff0000
13print(user.phone_number)
14# > tel:+1-650-253-0000
15
16# Invalid data
17try:
18 User(favorite_color='not-a-color', phone_number='not-a-phone-number')
19except ValidationError as e:
20 print(e)
21 """
22 2 validation errors for User
23 favorite_color
24 value is not a valid color: not-a-color (type=value_error.color)
25 phone_number
26 value is not a valid phone number (type=value_error.phone_number)
27 """