Ja fiz e refiz várias vezes o código e o validate continua sem fazer efeito no código.
Serializer:
from rest_framework import serializers
from clientes.validators import *
from clientes.models import Cliente
class ClienteSerializer(serializers.ModelSerializer):
class Meta:
model = Cliente
fields = '__all__'
def validate(self, data):
if not cpf_valido(data['cpf']):
raise serializers.ValidationError({'cpf': "O CPF deve ter 11 dígitos."})
if not nome_valido(data['nome']):
raise serializers.ValidationError({'nome': "Não inclua números neste campo."})
if not rg_valido(data['rg']):
raise serializers.ValidationError({'rg': "O RG deve ter 9 dígitos."})
if celular_valido(data['celular']):
raise serializers.ValidationError(
{'celular': "O número do celular deve seguir este modelo: 99 99999-9999."})
return data
Validators:
def cpf_valido(numero_do_cpf):
return len(numero_do_cpf) == 11
def nome_valido(nome):
return nome.isalpha()
def rg_valido(numero_do_rg):
return len(numero_do_rg) == 9
def celular_valido(numero_celular):
return numero_celular