始める無料で始める

カスタムバリデータの追加

Mode360 Solutions はコメントモデレーションシステムを運営する組織です。あなたはすべての従業員向けに入力検証サービスを作成するタスクを担当しています。このシステムでは、公式メールアドレスを持つ従業員のみが登録できるよう、入力情報(usernameemailage)を検証できる必要があります。

@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
コードを編集して実行