33 lines
918 B
Python
33 lines
918 B
Python
|
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']
|
||
|
if not re.match(r'^[a-zA-Z\s]+$', first_name):
|
||
|
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']
|
||
|
if not re.match(r'^[a-zA-Z\s]+$', last_name):
|
||
|
txt = _("The string must contain only characters and spaces")
|
||
|
raise forms.ValidationError(txt)
|
||
|
|
||
|
return last_name
|
||
|
|
||
|
|