Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O Cadastro ocorre mesmo com espaços ignorando a função clean_nome_cadastro

Django chama essa função automaticamente?

  • Em usuarios em forms.py

from django import forms

def clean_nome_cadastro(self): nome = self.cleaned_data.get("nome_cadastro")

if nome:
    nome = nome.strip()
    if " " in nome:
        raise forms.ValidationError("Proibido espaços no nome de usuário!")
    else:
        return nome

-> Em cadastro.html

                <form action="{% url 'cadastro' %}" method="POST">
                {% csrf_token %}
                <div class="row" class="col-12 col-lg-12" style="margin-bottom: 10px;">
                    {% for field in form.visible_fields %}
                        <div class="inputContainer">
                            <label class="forms__label" for="{{field.id_for_label}}" class="inputText">{{field.label}}</label>
                            {{field}}
                        </div>
                        {% for error in field.errors %}
                            <div class="alert alert-danger">
                                {{error}}
                            </div>
                        {% endfor %}
                    {% endfor %}
                </div>
                <div>
                    <button type="submit" class="btn btn-success col-12" style="padding: top 5px;">Cadastrar</button>
                </div>    
            </form>
1 resposta
solução!

Era só indentar, ou seja, ficar na mesma linha que nome_cadastro, 4 espaços para dentro da class CadastroForms(forms.Form):

class CadastroForms(forms.Form): nome_cadastro =

def clean_nome_cadastro

Estava errado pois colocava na mesma linha que class fica fora de class, mas não lembro do professor falar que ssa função pertencia a class CadastroForms(forms.Form): e nem de falar da identação

def clean_nome_cadastro