mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-03 20:10:10 +03:00
Pickup custom message for min_length validators
This commit is contained in:
parent
c3fd86d323
commit
4c7b3040d8
|
@ -209,12 +209,13 @@ def get_field_kwargs(field_name, model_field):
|
|||
|
||||
# Ensure that min_length is passed explicitly as a keyword arg,
|
||||
# rather than as a validator.
|
||||
min_length = next((
|
||||
validator.limit_value for validator in validator_kwarg
|
||||
min_length, message = next((
|
||||
(validator.limit_value, validator.message) for validator in validator_kwarg
|
||||
if isinstance(validator, validators.MinLengthValidator)
|
||||
), None)
|
||||
), (None, None))
|
||||
if min_length is not None and isinstance(model_field, models.CharField):
|
||||
kwargs['min_length'] = min_length
|
||||
kwargs.setdefault('error_messages', {}).update(min_length=message)
|
||||
validator_kwarg = [
|
||||
validator for validator in validator_kwarg
|
||||
if not isinstance(validator, validators.MinLengthValidator)
|
||||
|
|
|
@ -631,7 +631,10 @@ class ValidatorMessageTests(TestCase):
|
|||
|
||||
def test_min_length_validator_message_is_copied_from_model(self):
|
||||
class Review(models.Model):
|
||||
text = models.CharField(max_length=100, validators=[MinLengthValidator(limit_value=5, message='This is too short.')])
|
||||
text = models.CharField(
|
||||
max_length=100,
|
||||
validators=[MinLengthValidator(limit_value=5, message='This is too short.')]
|
||||
)
|
||||
|
||||
class ReviewSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue
Block a user