2
respostas

ícone API com Django 3: Validações, buscas, filtros e deploy API com Django 3: Validações, buscas, filtros e deploy

from rest_framework import serializers
from clientes.models import Cliente

class ClienteSerializer(serializers.ModelSerializer):
    class Meta:
        model = Cliente
        fields = '__all__'
    def validate_cpf(self, cpf):
        if len(cpf) != 11:
            raise serializers.ValidationError("")
        return cpf

    def validate_nome(self, nome):
        if nome.isalpha():
            raise serializers.ValidationError("bla bla bla")
        return nome

    def validate_rg(self, rg):
        if len(rg) != 9:
            raise serializers.ValidationError("bla bla bla")
        return rg

    def validate_celular(self, celular):
        if len(celular) < 11:
            raise serializers.ValidationError("bla bla bla")
        return celular

o mesmo aceita todos os tipos de cpf, rg, celular.

não faz nenhum tipo de validação. muito estranho. Nas aulas de Django levam muito tempo para responder.

2 respostas

Resolvido funciona REST framework!

Oii Francisco, como você está?

Peço desculpas pela demora em retornar e reforço que nossa equipe tem trabalhado diariamente para responder nossos alunos e alunas o mais breve possível, pois sabemos a importância da aprendizagem colaborativa e além disso, o quão valioso é ter um auxílio dedicado em momentos de dúvidas, pois, sozinhos podemos até evoluir, mas, em comunidade a evolução é maior.

Em relação a sua dúvida, a validação feita até este momento do curso valida apenas o tamanho dos argumentos, então, caso o cpf, rg ou celular possua mais do que a quantidade de dígitos definida, um erro será lançado. Acrescento que nos próximos capítulos do curso, na aula Expressões regulares, o instrutor irá adicionar mais validações a esses métodos, como por exemplo, a adição de biblioteca auxiliar para validar se o CPF é de fato existente ou não e também, usará expressões regulares para verificar o formato do celular.

Qualquer dúvida fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!