Встречается на собеседованиях • сегодня

Как решалась задача генерации форм с корректной обработкой ошибок валидации на стороне бэкенда

Для генерации форм с обработкой ошибок валидации на бэкенде в Python (например, с Flask/Django) можно использовать:

  1. Сериализаторы/Валидаторы (DRF, Marshmallow)
python
from marshmallow import Schema, fields, ValidationError

class UserSchema(Schema):
    email = fields.Email(required=True)
    age = fields.Integer(validate=lambda x: x >= 18)

try:
UserSchema().load(request.json)
except ValidationError as err:
return {'errors': err.messages}, 400

text

2. **Django Forms/DRF Serializers**  
```python
# DRF example
serializer = UserSerializer(data=request.data)
if not serializer.is_valid():
    return Response(serializer.errors, status=400)
  1. Pydantic (FastAPI)
python
from pydantic import BaseModel, validator

class User(BaseModel):
    email: str
    @validator('email')
    def check_email(cls, v):
        if '@' not in v:
            raise ValueError('Invalid email')
        return v

Ключевые моменты:

  • Единый формат ошибок (например, {"field": ["error1"]})
  • HTTP 400 при валидации
  • Подробные сообщения для клиента
  • Валидация типов, обязательных полей, кастомных правил
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы