mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-05 21:46:10 +00:00
Add validators to models fields (#9668)
* [python-fastapi] Apply constraints to models Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com> * [python-fastapi] Use pydantic types to validate models fields Some data formats can be validated by annotating fields with some special pydantic data types (EmailStr, forr example). Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com> * [python-fastapi] Updated samples Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
|
||||
|
||||
class ApiResponse(BaseModel):
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
|
||||
|
||||
class Category(BaseModel):
|
||||
@@ -20,3 +21,8 @@ class Category(BaseModel):
|
||||
|
||||
id: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
|
||||
@validator("name")
|
||||
def name_pattern(cls, value):
|
||||
assert value is not None and re.match(r"^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$", value)
|
||||
return value
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
|
||||
|
||||
class Order(BaseModel):
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from openapi_server.models.category import Category
|
||||
from openapi_server.models.tag import Tag
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
|
||||
|
||||
class Tag(BaseModel):
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
import re # noqa: F401
|
||||
from typing import Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
|
||||
|
||||
class User(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user