J'ai un formulaire modèle défini dans mon application, et dans l'un de mes champs de formulaire, je souhaite que les utilisateurs saisissent leurs entrées, mais avec la première lettre de leurs entrées en majuscule. Si ce n'est pas le cas, l'application doit générer une erreur et inviter l'utilisateur à saisir à nouveau cette entrée de formulaire particulière.
Existe-t-il un validateur de formulaire Django intégré pour implémenter une telle restriction?
PS: Je connais la capitalize()
méthode fournie par ModelForm
laquelle stocke le champ de formulaire dans la base de données avec la première lettre en majuscule. Cependant, cela ne fonctionnera pas pour moi, car je souhaite valider l'entrée AVANT la soumission du formulaire.
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])
Vous pouvez personnaliser ValidationError selon vos besoins. Documents: validateurs , ValidationError .
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots