I think you want to try MinLengthValidator instead of MinValueValidator .
MinValueValidator checks that the field value is greater than or equal to the specified value.
>>> 's' > 2 True
Since "s" > 2 , a validation error does not occur.
It would be wiser to use a MinValueError with an IntegerField or FloatField .
>>> field = forms.FloatField(validators=[validators.MinValueValidator(2)]) >>> field.clean(5) 5.0 >>> field.clean(1.9) ... ValidationError: [u'Ensure this value is greater than or equal to 2.']
To ensure that the string has a specific length, use the MinLengthValidator .
>>> field = forms.CharField(validators=[validators.MinLengthValidator(2)]) >>> field.clean('abc') u'abc' >>> field.clean('s') ... ValidationError: [u'Ensure this value has at least 2 characters (it has 1).']
source share