from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ from .utils import slugify class validate_sluggable: def __init__(self, error_short=None, error_long=None): self.error_short = error_short or _( "Value has to contain alpha-numerical characters." ) self.error_long = error_long or _("Value is too long.") def __call__(self, value): slug = slugify(value) if not slug.replace("-", ""): raise ValidationError(self.error_short) if len(slug) > 255: raise ValidationError(self.error_long) def validate_image_square(image): if image.width != image.height: raise ValidationError(_("Uploaded image is not a square."))