From 18b5a573c1d96c8cc60a3ddafcb637bd38333226 Mon Sep 17 00:00:00 2001 From: IluaAir Date: Fri, 11 Jul 2025 21:54:01 +0300 Subject: [PATCH] add password validation example --- src/schemas/users.py | 8 ++++++-- src/schemas/validators.py | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/schemas/validators.py diff --git a/src/schemas/users.py b/src/schemas/users.py index 745d20f..268b692 100644 --- a/src/schemas/users.py +++ b/src/schemas/users.py @@ -1,4 +1,8 @@ -from pydantic import BaseModel, EmailStr, ConfigDict +from typing import Annotated + +from pydantic import BaseModel, EmailStr, ConfigDict, BeforeValidator + +from src.schemas.validators import ensure_password class User(BaseModel): @@ -16,4 +20,4 @@ class UserWithHashedPass(User): class UserRequest(BaseModel): username: str email: EmailStr | None = None - password: str + password: Annotated[str, BeforeValidator(ensure_password)] diff --git a/src/schemas/validators.py b/src/schemas/validators.py new file mode 100644 index 0000000..90bb2ab --- /dev/null +++ b/src/schemas/validators.py @@ -0,0 +1,6 @@ +from typing import Any + + +def ensure_password(value: Any) -> Any: + #TODO + ...