diff --git a/app/__init__.py b/app/__init__.py index 54248bda0..9129da961 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -616,6 +616,8 @@ def setup_event_handlers(): def add_template_filters(application): + application.add_template_filter(slugify) + for fn in [ format_auth_type, format_billions, @@ -673,3 +675,11 @@ def init_jinja(application): ] jinja_loader = jinja2.FileSystemLoader(template_folders) application.jinja_loader = jinja_loader + +import re + +def slugify(text): + """ + Converts text to lowercase, replaces spaces with hyphens, and removes invalid characters. + """ + return re.sub(r'[^a-z0-9-]', '', re.sub(r'\s+', '-', text.lower())) diff --git a/app/templates/components/components/input/template.njk b/app/templates/components/components/input/template.njk index 0b89fe729..ce4544a9a 100644 --- a/app/templates/components/components/input/template.njk +++ b/app/templates/components/components/input/template.njk @@ -39,7 +39,7 @@ {% endif %}