[Answered ]-Django: Form validation for accepting strings with first letter in CAPS

1👍

✅

from django.db import models
from django.core.exceptions import ValidationError

def validate_capitalized(value):
    if value != value.capitalize():
        raise ValidationError('Invalid (not capitalized) value: %(value)s',
                              code='invalid',
                              params={'value': value})

class MyModel(models.Model):
    name = models.CharField(max_length=50, validators=[validate_capitalized])

You can customize ValidationError for your needs. Docs: validators, ValidationError.

1👍

You could use validators on the form or model fields, see the Documentation: Using validators and Writing validators.

Reference a simple callable that does the check and raise an exception.

Leave a comment