From 301a24f3b7128fc99ac86d5988f7828991e1ce72 Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Thu, 21 Oct 2021 12:20:05 +0100 Subject: [PATCH 1/2] Validate URIFields --- data_management/models.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data_management/models.py b/data_management/models.py index 8e0a1514..dae9c031 100644 --- a/data_management/models.py +++ b/data_management/models.py @@ -2,6 +2,7 @@ from uuid import uuid4, UUID from django.core.exceptions import ValidationError +from django.core.validators import RegexValidator from django.db import models from django.urls import reverse from dynamic_validator import ModelFieldRequiredMixin @@ -57,6 +58,8 @@ class URIField(models.CharField): """ def __init__(self, *args, **kwargs): kwargs['max_length'] = 1024 + kwargs['validators'] = (RegexValidator(regex=r'^[a-zA-Z0-9]*:\/\/.*$', + message='URIFields must begin with a protocol'),) super().__init__(*args, **kwargs) From 8ed2dd85b0910c690a72f825a2ec9efa5e451d44 Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Thu, 21 Oct 2021 12:24:18 +0100 Subject: [PATCH 2/2] Adjustment to regex --- data_management/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_management/models.py b/data_management/models.py index dae9c031..a6b4f133 100644 --- a/data_management/models.py +++ b/data_management/models.py @@ -58,7 +58,7 @@ class URIField(models.CharField): """ def __init__(self, *args, **kwargs): kwargs['max_length'] = 1024 - kwargs['validators'] = (RegexValidator(regex=r'^[a-zA-Z0-9]*:\/\/.*$', + kwargs['validators'] = (RegexValidator(regex=r'^[a-zA-Z0-9]+:\/\/.*$', message='URIFields must begin with a protocol'),) super().__init__(*args, **kwargs)