Add max_length validation

This commit is contained in:
Artur Barseghyan 2023-07-06 21:57:19 +02:00
parent c2a9bc559e
commit 9481c96de6
2 changed files with 12 additions and 14 deletions

View file

@ -1,7 +1,5 @@
from __future__ import absolute_import
from django.forms.fields import EmailField
from django.forms.widgets import TextInput
from django.utils.translation import gettext_lazy as _
from fobi.base import FormFieldPlugin, get_theme
@ -46,14 +44,14 @@ class EmailRepeatInputPlugin(FormFieldPlugin):
"widget": EmailRepeatWidget(attrs=widget_attrs),
}
# if self.data.max_length:
# try:
# field_kwargs["max_length"] = int(self.data.max_length)
# except ValueError:
# field_kwargs["max_length"] = None
# else:
# field_kwargs["max_length"] = None
#
# field_kwargs["min_length"] = None
if self.data.max_length:
try:
field_kwargs["max_length"] = int(self.data.max_length)
except ValueError:
field_kwargs["max_length"] = None
else:
field_kwargs["max_length"] = None
field_kwargs["min_length"] = None
return [(self.data.name, EmailRepeatField, field_kwargs)]

View file

@ -54,10 +54,10 @@ class EmailRepeatField(forms.MultiValueField):
widget = EmailRepeatWidget
def __init__(self, *args, **kwargs):
def __init__(self, max_length=None, min_length=None, *args, **kwargs):
fields = (
forms.EmailField(),
forms.EmailField(),
forms.EmailField(max_length=max_length, min_length=min_length),
forms.EmailField(max_length=max_length, min_length=min_length),
)
super().__init__(fields, *args, **kwargs)