python.pydantic.missing_validators
Correctness
Medium
Detects Pydantic models without proper field validators.
Why It Matters
Section titled “Why It Matters”Missing validators:
- Invalid data — Bad values pass validation
- Security issues — Malicious input not sanitized
- Runtime errors — Failures happen later in pipeline
Example
Section titled “Example”# ❌ Before (no validators)from pydantic import BaseModel
class User(BaseModel): email: str # Any string accepted! age: int # Negative ages allowed!# ✅ After (with validators)from pydantic import BaseModel, EmailStr, Field, validator
class User(BaseModel): email: EmailStr age: int = Field(ge=0, le=150)
@validator('email') def normalize_email(cls, v): return v.lower().strip()What Unfault Detects
Section titled “What Unfault Detects”- str fields that should use constrained types
- Numeric fields without bounds
- Missing sanitization validators