Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

required em conjunto com o form.reset()

Eu tentei usar o required do HTML5, mas quando o form é resetado ao inserir os dados na tabela, aparece a mensagem de validação do html 'Preencha este campo'. Existe alguma forma de fazer ela não aparecer? Já que eu resetei o form intencionalmente para que o usuário pudesse inserir mais dados.

3 respostas

Oi, Lucas, tudo bem?

No caso, para não fazer aparecer a mensagem, você pode usar o evento invalid para te auxiliar juntamente com o método setCustomValidity(), ficando assim:

<input type=" " id=" " name=" " value=" " required oninvalid="this.setCustomValidity('')">

Ai no caso, você pode por uma mensagem constumizada para o usuário dentro do método setCustomValidity mas no caso, você deixa vazio. Mas veja que o JS já faz esse processo de validação, acredito não necessitar da validação também do HTML. Mas posso ter compreendido errado a questão.

Qualquer dúdiva é só falar :}

Obrigado, já me ajudou bastante. Mas a dúvida seria em relação ao form.reset(), porquê depois dele aparece a validação do html pq o campo está vazio e o botão foi pressionado. Queria saber se tem como eu desativar a validação com um boolean e depois ativar de novo. Ou alguma coisa do tipo. Apenas capricho visual mesmo. É pq fica estranho você enviar a informação e aparecer um erro após o campo do html ser limpo. Mas se não tiver como fazer tem problema não, eu fecho o tópico

solução!

Eu consegui fazer o que eu queria removendo o required antes de resetar o form através do js e adicionando novamente ao pressionar o botão. Ficou meio gambiarra, mas resolvido!