IdHub/idhub_auth/forms.py

35 lines
1.1 KiB
Python
Raw Normal View History

2023-11-13 17:09:37 +00:00
import re
from django import forms
from django.utils.translation import gettext_lazy as _
from idhub_auth.models import User
class ProfileForm(forms.ModelForm):
first_name = forms.CharField(required=True)
last_name = forms.CharField(required=True)
class Meta:
model = User
fields = ['first_name', 'last_name', 'email']
def clean_first_name(self):
first_name = super().clean()['first_name']
2023-11-22 13:05:24 +00:00
match = r'^[a-zA-ZäöüßÄÖÜáéíóúàèìòùÀÈÌÒÙÁÉÍÓÚßñÑçÇ\s\'-]+'
2023-11-22 12:59:25 +00:00
if not re.match(match, first_name):
2023-11-13 17:09:37 +00:00
txt = _("The string must contain only characters and spaces")
raise forms.ValidationError(txt)
return first_name
def clean_last_name(self):
last_name = super().clean()['last_name']
2023-11-22 13:05:24 +00:00
match = r'^[a-zA-ZäöüßÄÖÜáéíóúàèìòùÀÈÌÒÙÁÉÍÓÚßñÑçÇ\s\'-]+'
2023-11-22 12:59:25 +00:00
if not re.match(match, last_name):
2023-11-13 17:09:37 +00:00
txt = _("The string must contain only characters and spaces")
raise forms.ValidationError(txt)
return last_name