No formulário Django, ele pode verificar se o formulário é válido:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
Mas estou perdendo o que fazer se não for válido? Como faço para retornar o formulário com as mensagens de erro? Não estou vendo o "outro" em nenhum dos exemplos.
django
django-forms
user984003
fonte
fonte
myForm
é uma instância deforms.Form
ouforms.ModelForm
, leia sobre Django FormsUNIQUE constraint failed:
exceção?views.py
Se quiser mostrar os erros do formulário diferente daquele inválido basta colocar {{form.as_p}} como fiz abaixo
page.html
fonte
messages.error(request, "Error")
?fonte
ATUALIZAÇÃO: Adicionada uma descrição mais detalhada dos erros do formset.
Form.errors combina todos os campos e non_field_errors. Portanto, você pode simplificar o html para isso:
modelo
form_tags.py
Uma advertência: Em contraste com os formulários, Formset.errors não inclui non_field_errors.
fonte
simplesmente você pode fazer assim porque, quando inicializou o formulário, em contém dados do formulário e dados inválidos também:
if irá gerar o erro no modelo se houver algum, mas os dados do formulário ainda permanecerão como:
error_demo_here
fonte
Você pode colocar simplesmente uma variável de sinalizador, neste caso is_successed .
depois em seu modelo você pode apenas colocar o código abaixo
fonte