diff --git a/netfields/fields.py b/netfields/fields.py index 42800eb..47cd82c 100644 --- a/netfields/fields.py +++ b/netfields/fields.py @@ -192,7 +192,7 @@ def to_python(self, value): try: return EUI(value, dialect=mac_unix_common) - except AddrFormatError as e: + except (AddrFormatError, IndexError, TypeError) as e: raise ValidationError(e) def get_prep_value(self, value): @@ -238,7 +238,7 @@ def to_python(self, value): try: return EUI(value, dialect=mac_eui64) - except AddrFormatError as e: + except (AddrFormatError, IndexError, TypeError) as e: raise ValidationError(e) def get_prep_value(self, value): diff --git a/netfields/rest_framework.py b/netfields/rest_framework.py index 3b6f1be..bfce87f 100644 --- a/netfields/rest_framework.py +++ b/netfields/rest_framework.py @@ -74,7 +74,7 @@ def to_internal_value(self, data): return data try: return EUI(data, dialect=mac_unix_common) - except (AddrFormatError, TypeError): + except (AddrFormatError, IndexError, TypeError): self.fail('invalid') @@ -93,7 +93,7 @@ def to_internal_value(self, data): return data try: return EUI(data, dialect=mac_eui64) - except (AddrFormatError, TypeError): + except (AddrFormatError, IndexError, TypeError): self.fail('invalid')