cleaned_data retorna None mesmo com valor do campo

17 views
Skip to first unread message

Renan Matias (Porlock)

unread,
Oct 7, 2022, 9:42:22 AM10/7/22
to Django Brasil
Ola pessoal, boa noite!

Eu criei um formulário simples para cadastrar novos usuários, só que nesse formulário possui informações de endereço. Utilizando o jQuery, ao usuário inserir o cep, os campos de endereço, bairro, cidade etc, são preenchidos automaticamente, veja como está a estrutura do javascript:

$(":input#id_cep").focusout(function(e) {
    const cep = this.value
    $.get('https://viacep.com.br/ws/' + cep + '/json', function(data) {
        if (data.erro != 'true') {
            // $('#id_endereco').val(data.logradouro)
            $('#id_endereco').attr('value', data.logradouro)
            $('#id_complemento').val(data.complemento)
            $('#id_bairro').val(data.bairro)
            $('#id_cidade').val(data.localidade)
            $('#id_uf').val(data.uf)
        } else {
            $('#id_endereco').val('')
            $('#id_complemento').val('')
            $('#id_bairro').val('')
            $('#id_cidade').val('')
            $('#id_uf').val('')
        }
    })
})

Quando eu submeto o formulário, eu preciso fazer algumas validações, tais como campos obrigatório, como é o caso do cep e do endereço. Mesmo quando o form é submetido com todos os campos preenchidos, o Django não está recebendo os valores que são autocompletados através do javascript, eles retornam como None, segue estrutura abaixo.

def clean(self):
        cleaned_data = super().clean()

        tipo = cleaned_data.get('tipo')
        cpf = cleaned_data.get('cpf')
        cnpj = cleaned_data.get('cnpj')
        cro_uf = cleaned_data.get('cro_uf')
        cro = cleaned_data.get('cro')
        cep = cleaned_data.get('cep')
        endereco = cleaned_data.get('endereco')
        numero = cleaned_data.get('numero')

O que eu estou fazendo de errado ou o que eu estou esquecendo? Podem me ajudar?

Obrigado galera!

Renan Matias (Porlock)

unread,
Oct 9, 2022, 10:07:23 AM10/9/22
to Django Brasil
Pessoal, consegui descobrir. O django não estava pegando o valor do campo pq ele estava desabilitado. 👍
Reply all
Reply to author
Forward
0 new messages