Jump to content

Valerá a pena fazer validações do lado do cliente?


softklin
 Share

Recommended Posts

Boas pessoal.

Penso que a pergunta do título seja bastante explícita. Como sabem, em formulários na web, é sempre bom validar o que utilizador escreve (sabe-se lá o que ele lá põe... 👍 ). Pode-se fazer isto de várias maneiras, entre as quais 2: uma rápida validação do lado do cliente com Javascript e outra, uma validação do lado do servidor.

Ora, ambas têm as suas desvantagens, por exemplo, uso inadequado de recursos do servidor, javascript facilmente desactivado, etc...

O que gostava de saber era a vossa "técnica" neste campo: usam validação por JS, ou nem por isso? Porquê? Qual acham mais eficiente no caso geral?

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Eu penso que sim, coisas como o comprimento de um campo, se o campo está correctamente preenchido a nível de quais caracteres foram introduzidos, se as duas pass's são iguais, se o e-mail é um e-mail possívelmente fidedigno, se preencheu todos os campos obrigatórios. Isto tudo do lado do cliente através de JavaScript não recorrendo ao servidor. Porque assim facilita o trabalho ao utilizador porque sabe o que está mal e pode corrigir antes de submeter porque se não souber pode submeter com erros e ter de fazer tudo novamente, assim poupa-se trabalho e é mais user friendly 👍

Our lives begin to end the day we become silent about things that matter - Martin Luther King

Link to comment
Share on other sites

Verificações no cliente podem ser contornadas muito facilmente, no servidor não. Por isso, verificação no servidor é obrigatória, e no cliente podes sempre também fazer verificações, sempre dá para filtrar algumas coisas. 😉

PS: skin, dá uma olhada ao fórum next-door sff. 👍

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Podes utilizar as duas: validação do lado do cliente para "filtrar" a maior parte dos erros nos formulários, e usar validação no servidor sempre que recebes um request.

Parece-me a melhor solução - uso de recursos do servidor reduzido e validação em todos os casos.

<3 life

Link to comment
Share on other sites

Sim, eu referia-me mesmo a usar a validação do lado do cliente APENAS para ajudar o utilizador e nunca para fazer tudo. Tens de ter sempre uma boa validação do lado do servidor!

Our lives begin to end the day we become silent about things that matter - Martin Luther King

Link to comment
Share on other sites

Obrigado pelas respostas.

Eu penso que sim, coisas como o comprimento de um campo, se o campo está correctamente preenchido a nível de quais caracteres foram introduzidos, se as duas pass's são iguais, se o e-mail é um e-mail possívelmente fidedigno, se preencheu todos os campos obrigatórios. Isto tudo do lado do cliente através de JavaScript não recorrendo ao servidor. Porque assim facilita o trabalho ao utilizador porque sabe o que está mal e pode corrigir antes de submeter porque se não souber pode submeter com erros e ter de fazer tudo novamente, assim poupa-se trabalho e é mais user friendly 👍

Sim, é bem verdade, e até dá um ar mais arrumado do que estar sempre a voltar atrás e ter de preencher o que falta, depois avança e falta outra coisa...

Verificações no cliente podem ser contornadas muito facilmente, no servidor não. Por isso, verificação no servidor é obrigatória, e no cliente podes sempre também fazer verificações, sempre dá para filtrar algumas coisas. 😉

Podes utilizar as duas: validação do lado do cliente para "filtrar" a maior parte dos erros nos formulários, e usar validação no servidor sempre que recebes um request.

Parece-me a melhor solução - uso de recursos do servidor reduzido e validação em todos os casos.

É por isso que perguntei: uma vez que pode ser contornado, temos de nos preocupar 2 vezes, digamos assim... Era esse trabalho que queria evitar, no meu caso, os formulários nem são muito grandes, mas imaginemos uma ficha de cliente, com moradas, telefone, estado civil, etc. etc... Para além do enorme número de validações, ainda temos de as repetir no servidor...

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Viva!

Validações do lado do servidor são obrigatórias! (se não queremos que nos lixem..) As validações do lado do cliente são para mim também essenciais. Isto porque:

- Não vale a pena enviar coisas para o servidor erradas.. se as podemos validar logo do lado do cliente.

- É muito mais intuitivo e imediato para o utilizador.

- A aplicação/página web fica com o "feel" muito melhor.. evita-se o tempo de espera do round-trip ao servidor, etc.

- é uma questão até de usabilidade e classe 👍

e...

Para além do enorme número de validações, ainda temos de as repetir no servidor...

para quem como eu, programa em JavaScript client e server-side.. é uma limpeza! ou seja, em muitos casos, os métodos que desenvolvo para validar o input na web, são reutilizados para fazer a "re-validação" do lado do servidor (muitas vezes.. simples copy-paste das class/métodos/funções)

😉 é uma maravilha!

para quem programa em C#, JSP ou até PHP, eu diria que quase que consegue fazer o mesmo.. o core dessas linguagens não é assim tão diferente.. já não é o COPY-PASTE.. mas em muitos casos até anda lá perto.

inté!

Link to comment
Share on other sites

jsWizard tem razão, é muito fácil fazer a portabilidade de JavaScript para PHP e vice-versa, por exemplo alguns dos Desafios P@P eu resolvi utilizando JavaScript e PHP ( e outras ) e foi só modificar umas coisinhas 👍

Our lives begin to end the day we become silent about things that matter - Martin Luther King

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.