Posso utilizar somente o Form Validation do HTML5 para validações Client-side? - Stack Overflow em Português
Estou um pouco preocupado com relação a utilização do Form Validation do HTML5 pois apesar da simplicidade de implementação para alguns navegadores, principalmente IOs e Safari o suporte é parcial conforme visto aqui.
No meu atual projeto (o qual estou implementado o Form Validation) a necessidade é a de que todos os formulários tem que ser validados corretamente em todos os principais navegadores do mercado, e pela simplicidade de implementação (que não necessita de nenhum javascript) eu gostaria de poder implementar somente o Form Validation do HTML5 para validações Client-side. A dúvida é: devo? considerando que alguns navegadores fornecerem apenas suporte parcial (o que isto quer dizer exatamente?), o meu receio é que em algum destes navegadores o preenchimento obrigatório não seja solicitado por falta de suporte do navegador.
Obs: a dúvida não é em questão de segurança, mas de suporte nos principais navegadores, considerando um cenário onde somente o Form Validation do HTML5 é implementado, sem outro tipo de validação por meio de javascript.
Obs 2: considerem apenas os navegadores em suas versões mais atuais.
editada 11/05/2016 às 20:51
perguntada 11/05/2016 às 20:12
Não,as validações do HTML5 não estão maduras o suficiente para caminhar sozinhas,e, sempre que possível garanta a máxima consistência nos teus dados validando também em Javascript.
Se você entende que o cenário das validações dos formulários em HTML5 é parcial,questione-se sobre:
É possível garantir consistência nos dados recebidos?
Em experiência validações em HTML5 não são suficientes, ainda mais se você deseja garantir o mesmo comportamento das validações, isto é, a mesma forma que é mostrado as mensagens.
O interessante é funcionar em qualquer lugar, imagina o quão triste seria o usuário mostrar o seu site para um amigo e não abrir por que não é na versão adequada.
respondida 12/05/2016 às 11:49
Deve usar?
Sim, é um otimo e rapido meio de validar um form, visto que o usuário pode saber imediatamente se ele inseriu um dado errado. Isso economiza tempo de espera para uma resposta HTTP, e economiza seu servidor de lidar com uma entrada de formulário ruim. Mas é indispensavel validação via JS também. E para informações mais "sensiveis", uma nova validação no controller.
respondida 11/05/2016 às 20:37
Mas considerando que alguns navegadores oferecem somente suporte parcial ao Validation Form do HTML5 conforme visto no link apresentado?
11/05/2016 às 20:40
@RafaelAlexandre Por isso é indispensável a validação por JavaScript. Sempre deve ter além do Form Validation, uma validação por javascript antes de enviar os dados para o servidor.
11/05/2016 às 20:42
Então eu não posso me assegurar somente no Validation Form do HTML5 para validações Client-side.
11/05/2016 às 20:43
@RafaelAlexandre Não, pois o usuário pode manipular o html. Em um exemplo pratico, onde o input está atribuido com "required". Caso seja retirado por especionar elemento, o campo está livre para enviar nenhum dado ao servidor.
Sim, mas a minha pergunta não é exatamente sobre segurança, mas sobre suporte. Estou querendo saber se há navegadores, como Safari IOs que oferece suporte parcial, onde a implementação deixará de funcionar.