カスタムバリデータの追加
Mode360 Solutions はコメントモデレーションシステムを運営する組織です。あなたはすべての従業員向けに入力検証サービスを作成するタスクを担当しています。このシステムでは、公式メールアドレスを持つ従業員のみが登録できるよう、入力情報(username、email、age)を検証できる必要があります。
@field_validator デコレータを email フィールドに適用した Pydantic の User モデルを定義し、入力されたメールアドレスが @mode360.com で終わっているかどうかを確認しましょう。
こうしたバリデータを使うことで、セキュリティの向上とシステム連携の強化が実現できます。
この演習はコースの一部です
FastAPI を使った AI のプロダクション環境へのデプロイ
演習の手順
- Pydantic のデコレータを追加して、
emailフィールドにカスタムバリデータを作成してください。 - 文字列の
endswithメソッドを使用して、メールアドレスが@mode360.comドメインで終わっているかどうかを確認してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from pydantic import BaseModel, field_validator, Field
class User(BaseModel):
username: str = Field(..., min_length=5, max_length=20)
email: str
age: int
# Add the Pydantic decorator to validate
____('email')
def email_must_be_example_domain(cls, user_email):
# Use the endswith method to validate the email ends with @mode360.com
if not user_email.endswith("____"):
raise ValueError('Email must be from the mode360.com domain')
return user_email