1
resposta

Alguém sabe como funciona o atributo enctype dentro da tag <form> ?

Segundo o site: https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/form#attr-enctype o atributo da tag

** enctype** : *Quando o valor do atributo method é post, esse atributo é o tipo MIME de conteúdo usado para enviar o formulário ao servidor. Os valores possíveis são: application / x-www-form-urlencoded: O valor padrão se o atributo não for especificado.

multipart / form-data: Use este valor se você estiver usando um elemento com o atributo type definido como "file".

texto / simples (HTML5)

Este valor pode ser substituído por um atributo formenctype em um elemento

1 resposta

Olá, Peterson!

A propriedade enctype define qual deve ser o formato de codificação que os dados do formulário devem ter para serem enviados para algum servidor. Esta propriedade é utilizada quando precisamos tratar da codificação dos dados antes de enviá-los para o servidor. Vejamos exemplos de possíveis valores:

  • text/plain: Envia dados sem codificação, o que não é recomendado.
  • multipart/form-data: Necessário se querer enviar algum arquivo através do formulário.
  • application/x-www-form-urlencoded: Este é o padrão, no qual todos os caracteres são codificados antes do envio.

Esta propriedade é utilizada para garantir a integridade de seu servidor e dificultar ataques como do tipo injection.

Se quiser uma forma prática de receber os dados de algum formulário em projetos menores, sugiro você utilizar algum serviço como o getform.io, que é de fácil implementação, nele basta adicionar uma propriedade action com o valor do endpoint disponibilizado pela plataforma e a propriedade method com valor POST na tag form e classificar os campos de input com a propriedade name com o valor que queira denominá-los.

Vale a pena dar uma olhada nesses tipos de serviço, e espero ter ajudado a compreender os valores da propriedade enctype. Qualquer coisa de uma olha no site da w3schools, que inclusive tem a definição bem sucinta de muitas outras propriedades.