Nas aulas 2 e 3, o professor faz a validação de alguns campos, inclusive o campo nome, após alguns teste notei que o método validate_nome
gera um erro quando eu coloco o nome e sobrenome do cliente por exemplo... Após algum tempo tentando achar o problema vi pelo shell que o caractere que gera o erro é o espaço em branco entre os nomes, fazendo com que o isalpha()
retorne False
e gere a mensagem de erro.
Gostaria de saber como proceder para que o método valide o nome completo do cliente, como solução pensei em fazer um lista e fazer a validação em cada termo da lista .split()
, mas acredito que essa não seja a melhor forma de fazer...
Método de validação do nome:
def validate_nome(self, nome):
if not nome.isalpha():
raise serializers.ValidationError("Não inclua números no nome.")
return nome
Classe ClienteSerializer:
class ClienteSerializer(serializers.ModelSerializer):
class Meta:
model = Cliente
fields = '__all__'
def validate_cpf(self, cpf):
if len(cpf) != 11:
raise serializers.ValidationError("O CPF deve ter 11 digitos, apenas números.")
return cpf
def validate_rg(self, rg):
if len(rg) != 9:
raise serializers.ValidationError("O RG deve ter 9 digitos, apenas números")
return rg
def validate_nome(self, nome):
# se o nome tiver espaço em branco, gera um erro. VRF correção
if not nome.isalpha():
raise serializers.ValidationError("Não inclua números no nome.")
return nome
def validate_celular(self, celular):
if len(celular) < 11:
raise serializers.ValidationError("O número de celular deve no minimo 11 digitos")
return celular
Obrigado!