Menambahkan validator kustom
Mode360 Solutions adalah organisasi di balik sistem moderasi komentar, dan Anda mendapat tugas untuk membuat layanan validasi bagi semua karyawan. Sistem harus dapat memvalidasi detail masukan (username, email, dan age) sehingga hanya karyawan dengan alamat email resmi yang dapat mendaftar.
Anda perlu mendefinisikan model Pydantic User dengan dekorator @field_validator pada email untuk memeriksa apakah email yang dimasukkan diakhiri dengan @mode360.com.
Validator ini meningkatkan keamanan dan integrasi sistem.
Latihan ini merupakan bagian dari kursus
Menerapkan AI ke Produksi dengan FastAPI
Instruksi latihan
- Tambahkan dekorator Pydantic untuk membuat validator kustom pada field
email. - Gunakan metode string
endswithuntuk memeriksa apakah alamat email diakhiri dengan domain@mode360.com.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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