开始使用免费开始使用

添加自定义校验器

Mode360 Solutions 是这套评论审核系统背后的组织,您接到任务要为所有员工创建一个验证服务。系统需要对输入信息(usernameemailage)进行校验,只有使用官方邮箱地址的员工才能注册。

您需要定义一个 Pydantic 的 User 模型,并在 email 字段上使用 @field_validator 装饰器,检查输入的邮箱是否以 @mode360.com 结尾。

这些校验器将提升安全性并便于系统集成。

本练习是课程的一部分

使用 FastAPI 在生产环境中部署 AI

查看课程

练习说明

  • email 字段添加 Pydantic 装饰器,创建一个自定义校验器。
  • 使用字符串的 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
编辑并运行代码