6
6
from django .utils .translation import gettext_lazy as _
7
7
8
8
from ...utils import prefix_validation_error
9
- from ...validators import ArrayMaxLengthValidator , ArrayMinLengthValidator
9
+ from ...validators import ArrayMaxLengthValidator , ArrayMinLengthValidator , LengthValidator
10
10
11
11
12
12
class SimpleArrayField (forms .CharField ):
13
13
default_error_messages = {
14
14
"item_invalid" : _ ("Item %(nth)s in the array did not validate:" ),
15
15
}
16
16
17
- def __init__ (self , base_field , * , delimiter = "," , max_length = None , min_length = None , ** kwargs ):
17
+ def __init__ (
18
+ self , base_field , * , delimiter = "," , max_length = None , min_length = None , size = None , ** kwargs
19
+ ):
18
20
self .base_field = base_field
19
21
self .delimiter = delimiter
20
22
super ().__init__ (** kwargs )
@@ -24,6 +26,9 @@ def __init__(self, base_field, *, delimiter=",", max_length=None, min_length=Non
24
26
if max_length is not None :
25
27
self .max_length = max_length
26
28
self .validators .append (ArrayMaxLengthValidator (int (max_length )))
29
+ if size is not None :
30
+ self .size = size
31
+ self .validators .append (LengthValidator (int (size )))
27
32
28
33
def clean (self , value ):
29
34
value = super ().clean (value )
0 commit comments