2
respostas

Validação de Dropdown com dependência

Estou com um problema para validar um formulario a alguns dias e não consigo entender o que pode ser.

Tenhor um HTML onde utilizo um Dropdown que vem de uma model proprientarios e um campo Endereço que vem model imoveis. no meu modelo imoveis tem a chave estrangeira que é a id_proprietario.

meu codigo html é esse e estou conseguindo trazer o drop preenchido

  • {% for proprietario in proprietarios %} {{ proprietario.nome }}
  • {% endfor %}

    ja essa, e minha view que retorna que o formulario nao e valido, pelo que estou entendendo, nao estou conseguindo capturar o ID_PROPRIETARIO e com isso nao valida o formulario por ser campo obrigatorio

    def cadastro_imovel(request):

    if request.method == 'POST':
        imoveis_form = ImovelForm(request.POST)
        if imoveis_form.is_valid():
            imoveis_form.save()
            return redirect('proprietario')
        else:
            print('Formulario com erro',imoveis_form.errors)
    else:
        proprietario_form = Proprietario.objects.all()
        
        imoveis_form = ImovelForm()
    
        formulario = {
            'proprietarios': proprietario_form,
            'imoveis': imoveis_form
        }
        return render(request,'painel/cadastro_imovel.html',context=formulario)
    

    Só me retonar que o formulario esta invalido e nao salva na base

  • 2 respostas

    Opa, Boa tarde!

    No HTML, vc precisa garantir que o valor do ID do proprietário esteja sendo enviado quando o formulário é submetido.

    Vc pode adicionar um atributo value ao seu campo de seleção que corresponde ao ID do proprietário.

    Tenta assim:

    <select name="proprietario">
    {% for proprietario in proprietarios %}
        <option value="{{ proprietario.id }}">{{ proprietario.nome }}</option>
    {% endfor %}
    </select>
    

    cara deu derto, obrigado!