From fbf38bbad741378f4d49cdef9b11b96b38501106 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 2 Nov 2022 08:31:57 -0700 Subject: [PATCH] 7376 validate tags --- netbox/netbox/forms/base.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 5b7174e4e..c4bbd355f 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -1,5 +1,6 @@ from django import forms from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import ValidationError from django.db.models import Q from extras.choices import CustomFieldFilterLogicChoices, CustomFieldTypeChoices, CustomFieldVisibilityChoices @@ -75,6 +76,13 @@ class NetBoxModelCSVForm(CSVModelForm, NetBoxModelForm): def _get_form_field(self, customfield): return customfield.to_form_field(for_csv_import=True) + def clean_tags(self): + data = self.cleaned_data['tags'] + existing_tags = Tag.objects.values_list('slug', flat=True) + for tag in data: + if tag.strip().lower() not in existing_tags: + raise ValidationError(f"Unknown tag: {tag}") + class NetBoxModelBulkEditForm(BootstrapMixin, CustomFieldsMixin, forms.Form): """