Olá fiz o codigo da mesma forma, mas por algum motivo a validação não acontece, o codigo fica aceitando nome com espaço
from django import forms
class LoginForms(forms.Form):
login_nome = forms.CharField(
label='Nome de Login',
required=True,
max_length=100,
widget=forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Login'
}
)
)
senha = forms.CharField(
label='Senha',
required=True,
max_length=70,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder': 'Senha'
}
)
)
class CadastroForms (forms.Form):
cadastro_nome = forms.CharField(
label='Nome',
required=True,
max_length=100,
widget=forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Nome'
}
)
)
email = forms.EmailField(
label='Email',
required=True,
max_length=100,
widget=forms.EmailInput(
attrs={
'class': 'form-control',
'placeholder': 'Email'
}
)
)
senha_1 = forms.CharField(
label='Senha',
required=True,
max_length=70,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder': 'Senha'
}
)
)
senha_2 = forms.CharField(
label='Confirme sua senha',
required=True,
max_length=70,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder': 'Confirme sua senha'
}
)
)
def clean_cadastro_nome(self):
nome = self.cleaned_data.get("cadastro_nome")
if nome:
nome = nome.strip()
if " " in nome:
raise forms.ValidationError("Não use espaço no nome de login")
else:
return nome