diff --git a/mdb/models.py b/mdb/models.py index f2e9d97..b74f017 100644 --- a/mdb/models.py +++ b/mdb/models.py @@ -2,7 +2,7 @@ from django.db import models from django.db.models.signals import post_save, pre_save, pre_delete from django.dispatch import receiver -from validators import validate_hostname +from validators import validate_hostname, validate_macaddr import ipaddr import datetime @@ -556,7 +556,7 @@ class Host(models.Model): class Interface(models.Model): name = models.CharField(max_length=128) - macaddr = models.CharField(max_length=17) + macaddr = models.CharField(max_length=17, validators=[validate_macaddr]) pxe_filename = models.CharField(max_length=64, blank=True) dhcp_client = models.BooleanField(default=False) host = models.ForeignKey(Host) diff --git a/mdb/validators.py b/mdb/validators.py index 91861a5..58bfb1b 100644 --- a/mdb/validators.py +++ b/mdb/validators.py @@ -1,5 +1,15 @@ from django.core.validators import RegexValidator import re + # http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names hostname_re = re.compile(r'^(?!-)[-a-z0-9]+(?