Check that validator is a subclass of CustomValidator

This commit is contained in:
Jeremy Stretch 2024-03-21 21:06:42 -04:00
parent e57e07746b
commit deaaee3079

View File

@ -2,7 +2,7 @@ import importlib
import logging
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ValidationError
from django.core.exceptions import ImproperlyConfigured, ValidationError
from django.db.models.fields.reverse_related import ManyToManyRel
from django.db.models.signals import m2m_changed, post_save, pre_delete
from django.dispatch import receiver, Signal
@ -41,6 +41,9 @@ def run_validators(instance, validators):
elif type(validator) is dict:
validator = CustomValidator(validator)
elif not issubclass(validator.__class__, CustomValidator):
raise ImproperlyConfigured(f"Invalid value for custom validator: {validator}")
validator(instance, request)