0Pricing
Django Academy · Aula

is_valid e cleaned_data

Valide a entrada e leia valores limpos

is_valid e cleaned_data é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Bind Data First

To validate, create a bound form by passing the submitted data into it. Only bound forms can be validated.

form = ContactForm(request.POST)

Call is_valid()

is_valid() runs every field validation and returns True only if all of them pass. It triggers the whole cleaning process.

if form.is_valid():
    handle(form)

cleaned_data Appears

After is_valid() returns True, Django fills cleaned_data, a dict of validated, type-converted values ready to use.

name = form.cleaned_data["name"]

Values Are Converted

Cleaning converts types too. An IntegerField gives you a real int, and a DateField gives you a Python date, not raw strings.

age = form.cleaned_data["age"]  # int

Errors Collect Automatically

If validation fails, the messages land in form.errors, keyed by field name so you can show each problem clearly.

if not form.is_valid():
    print(form.errors)

Field-Level clean Methods

Add a method named clean_field to validate one field and return its cleaned value. Raise ValidationError to reject it.

def clean_name(self):
    name = self.cleaned_data["name"]
    return name.strip()

Raise ValidationError

Inside a clean method, raise ValidationError with a message to reject the value and attach an error to that field.

if "@" not in email:
    raise forms.ValidationError("Bad email")

Form-Wide clean()

Override clean() to validate fields against each other, like confirming two passwords match across the whole form.

def clean(self):
    cleaned = super().clean()
    return cleaned

Cross-Field Checks

In clean() you can read several cleaned_data keys and raise an error when their combination is invalid.

if start > end:
    raise forms.ValidationError("Bad range")

The Cleaning Order

Django runs field cleaning first, then your form-wide clean(). So clean() can safely rely on already-validated field values.

Use cleaned_data Safely

Always read input from cleaned_data, never from request.POST. Only cleaned_data holds validated, converted, trusted values.

email = form.cleaned_data["email"]

Quick Check

Test your grip on validation.

Recap

Bind data, call is_valid(), then read trusted values from cleaned_data. Use clean methods to add your own rules. ✅

Perguntas Frequentes

A aula “is_valid e cleaned_data” é grátis?

Sim — o texto completo de “is_valid e cleaned_data” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.

O que vou aprender em “is_valid e cleaned_data”?

Valide a entrada e leia valores limpos Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Django Academy?

Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “is_valid e cleaned_data”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Django Academy?

Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Definindo um forms.Form
  2. is_valid e cleaned_data
  3. Renderizando Formulários em Templates
  4. Proteção CSRF e o Fluxo POST
← Voltar para Django Academy