Как собрать все ошибки валидации при использовании пользовательского валидатора класса

Я использую пользовательский валидатор класса для валидации полей сериализатора, и я хотел бы поднимать 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
Вернуться на верх