Как собрать все ошибки валидации при использовании пользовательского валидатора класса
Я использую пользовательский валидатор класса для валидации полей сериализатора, и я хотел бы поднимать ValidationError для всех полей, чтобы в ответе API на ошибку были поля со всеми ошибками, а не одна ошибка, но теперь я получаю ошибку валидации только для отдельных полей. Раньше я использовал валидацию методов внутри моего сериализатора, и она работала так, как мне нужно, но это не тот случай с валидаторами класса.
Вот как выглядят валидаторы
class TitleValidator:
MIN_TITLE_LENGTH = 20
def __call__(self, attrs: dict):
title = attrs.get("title", "")
if len(title) < self.MIN_TITLE_LENGTH:
raise ValidationError(f"Min title length is {self.MIN_TITLE_LENGTH}")
return title
class SlugsValidator:
def __call__(self, attrs):
slug = attrs.get("slug", "")
if len(slug) < 10:
raise ValidationError("Slug must be at least 10 characters long")
return slug