Validação de Nome com espaço ao cadastrar não funciona. Segue link github https://github.com/ArthurCoutinho15/django_space.
Validação de Nome com espaço ao cadastrar não funciona. Segue link github https://github.com/ArthurCoutinho15/django_space.
Bom dia, Arthur! Tudo bem?
Analisando o código que você disponibilizou não identifiquei nenhum problema no trecho de código que você implementa o método clean_nome_cadastro
e nem no arquivo forms.py
como todo.
Mas, analisando o arquivo views.py
, mais especificamente no método cadastro
em que você usa aquela validação do formulário, notei que apresenta um simples problema de indentação que acaba fazendo com que a verificação do campo de nome não seja feita corretamente. Segue o código ajustado:
def cadastro(request):
form = CadastroForms()
if request.method == 'POST':
form = CadastroForms(request.POST)
if form.is_valid():
if form['senha_1'].value() != form['senha_2'].value():
messages.error(request, 'Senhas não são iguais')
return redirect('cadastro')
nome = form['nome_cadastro'].value()
email = form['email'].value()
senha = form['senha_1'].value()
if User.objects.filter(username=nome).exists():
messages.error(request, 'Usuário já existente')
return redirect('cadastro')
usuario = User.objects.create_user(
username=nome,
email=email,
password=senha
)
usuario.save()
messages.success(request, 'Cadastro efetuado com sucesso!')
return redirect('login')
return render(request, 'usuarios/cadastro.html', {'form': form})
O que ajustei foi que, tudo abaixo da condição form.is_valid()
deve estar indentado dentro dessa condição.
Espero ter ajudado e bons estudos!