Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como criar um formulário dinâmico com Thymeleaf no Spring Boot

Gostaria de criar uma página com um formulário para cadastro de clientes em que no início haja botões ou radio buttons para selecionar se o cliente será pessoa física ou jurídica e que, ao selecionar um dos dois, os campos do formulário mudam para se adaptar a cada um.

Ex: Pessoa física - campos de nome e cpf Pessoa Juridica - campos de razão social e cnpj

Obrigado.

1 resposta
solução!

Olá Henrique!

Para criar um formulário dinâmico com Thymeleaf no Spring Boot, você pode utilizar a funcionalidade de renderização condicional do Thymeleaf juntamente com JavaScript.

Primeiro, você pode criar os botões ou radio buttons para selecionar se o cliente será pessoa física ou jurídica. Por exemplo:

<input type="radio" name="tipoCliente" value="pessoaFisica"> Pessoa Física
<input type="radio" name="tipoCliente" value="pessoaJuridica"> Pessoa Jurídica

Em seguida, você pode utilizar JavaScript para capturar o evento de seleção e mostrar ou esconder os campos do formulário de acordo com o tipo de cliente selecionado. Por exemplo:

document.querySelectorAll('input[name="tipoCliente"]').forEach(function(radio) {
  radio.addEventListener('change', function() {
    var tipoCliente = document.querySelector('input[name="tipoCliente"]:checked').value;

    if (tipoCliente === 'pessoaFisica') {
      document.getElementById('camposPessoaFisica').style.display = 'block';
      document.getElementById('camposPessoaJuridica').style.display = 'none';
    } else if (tipoCliente === 'pessoaJuridica') {
      document.getElementById('camposPessoaFisica').style.display = 'none';
      document.getElementById('camposPessoaJuridica').style.display = 'block';
    }
  });
});

No exemplo acima, assumimos que você tem elementos HTML com os ids "camposPessoaFisica" e "camposPessoaJuridica" que contêm os campos específicos para cada tipo de cliente. Ao selecionar um tipo de cliente, os campos correspondentes serão mostrados e os outros serão escondidos.

Lembre-se de adaptar o código HTML e JavaScript de acordo com a estrutura do seu formulário e as necessidades do seu projeto.

Espero ter ajudado e bons estudos!