Validate

VALIDAZIONE DEI FORM

DjangoDjango ci offre svariate modalità di validazione dei dati. In questo post vedremo alcune delle tecniche più comuni e più utilizzate. Ti lascio un link alla documentazione ufficiale

https://docs.djangoproject.com/en/4.0/ref/forms/validation/

Una prima validazione viene fatta lato client, tuttavia per motivi di sicurezza non ci si può affidare a tale validazione solamente (che è possibile disabilitare con l’attributo novalidate nel tag form) serve una validazione anche lato server. Un primo approccio può essere quello di andare nella classe FormContatto e specificare l’attributo required.

Required Attribute

Tuttavia, la procedura più comune per la validazione di un campo è sovrascrivere il metodo clean_nome_campo. Prima di vedere tale metodo vediamo come ho cambiato il template contatto.html per poter visualizzare gli errori di validazione.

contact.html

Vediamo ora come si sovrascrive il metodo clean_nome_campo. Supponiamo che la nostra TextArea non accetti il vocabolo “parola” vediamo come fare.

clean

Il metodo ValidationError che si trova nel namespace django.core.exceptions serve a sollevare un’eccezione e invalidare il form. Inoltre, Django fa uso dei cosiddetti validators (link: https://docs.djangoproject.com/en/4.0/ref/validators/ ) che servono ad esempio a specificare la lunghezza minima o massima o entrambe di un dato campo.

Form Contact

Come vedi ho modificato il FormContatto per poter specificare alcuni attributi, come la classe form-control di Bootstrap e applicare uno style. Nota come con l’uso dei validators la lunghezza minima della TextArea è impostata a dieci caratteri.

LINK AI POST PRECEDENTI

PREVIOUS POST LINKS

LINK AL CODICE SU GITHUB

GITHUB