Back to snippets

pydantic_extra_types_color_and_phone_number_validation.py

python

This quickstart demonstrates how to use specialized types like `Col

15d ago27 linesdocs.pydantic.dev
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    """