• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

softklin

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

9 mensagens neste tópico

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... :thumbsup:). 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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :thumbsup:

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É vida, quem quer as coisas bem feitas tem de trabalhar para as ter :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :thumbsup:

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é!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora