Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

sobre formulários

porque usar o construtor de formulários do framework se seria mais rápido e produtivo fazer diretamente usando html?

1 resposta
solução

Bom dia Francisco.

Essa é uma pergunta válida, mas a resposta é uma opinião bastante pessoal.

Eu considero vantajoso criar formulários diretamente em HTML pois gosto de ter controle total sobre cada elemento e estilização, não gosto de utilizar o Bootstrap exceto para páginas internas, entre outras coisas.

Porém devo dizer que o código

@helper.form(routes.ProdutoController.formularioDeNovoProduto) {
  @helper.inputText(formulario("titulo"))
  @helper.inputText(formulario("codigo"))
  <button>Enviar</button>
}

é mais conciso do que o formulário inteiro, especialmente se já vier com valores padrão:

<form action="/produto/novo" method="post>
  <input type="text" name="produto.titulo" placeholder="titulo" value="@produto.titulo">
  <input type="text" name="produto.codigo" placeholder="codigo" value="@produto.codigo">
  <button>Enviar</button>
</form>

Eu acredito que essa abordagem possa ser bem mais rápida para pessoas mais inexperientes, especialmente utilizando a dependência do b3 que já inclui as labels e outras coisas. Imagino que você deva ter mais experiência e fluência em HTML e isso pode influenciar, então respeito sua opinião, mas creio que não seja a opinião da maioria neste caso.

A minha abordagem preferida é criar meu próprio arquivo .scala.html que customiza o campo de acordo com as informações passadas e utilizar este ajudante nas views, muito semelhante a como criamos arquivos .tag em um projeto que utiliza .jsp para compilação de views.

Obrigado pelo exercício de reflexão e bons estudos!