Pergunta

Eu preciso validar esta lista de opções simples:

<select name="<%= key %>">
    <option value="ETC" SELECTED>Select an option...</option>
    <option value="ONE">Lorem ipsum</option>
    <option value="TWO">dolor sit amet</option>
</select>

Assim, o usuário nunca iria enviar o formulário com o, desculpem a repetição, "Selecione uma opção ..." opção selecionada. Em princípio eu estou autorizado a usar JavaScript mas seria interessante saber como resolvê-lo dentro de JSP também.

Foi útil?

Solução

Você pode nunca realmente satisfazer a condição de 'nunca enviar um determinado valor', porque você não tem controle sobre o lado do cliente. O utilizador pode sempre manipular HTML para enviar o que quiserem.

É uma boa abordagem é usar JavaScript para fazer a validação do lado do cliente e dar ao usuário feedback rápido e pegar 99% + dos casos, em seguida, fazer a validação do lado do servidor dos parâmetros apresentados para pegar a minoria que don 't tem JS habilitado ou que manipular a HTML para enviar valores não esperados.

Basta lembrar que a validação do lado do cliente é opcional, e é bom para validação de entrada desses erros comuns ", mas a validação do lado do servidor é obrigatória para todas as entradas ou não qualquer verificação do lado do cliente ter sido feito na dada entrada.

Outras dicas

Hoje em dia você normalmente não validar em JSPs, porque eles só visualize tudo o que foi processado anteriormente. Assim, a única validação que você faz "em jsps" é geralmente Javascript. Para o resto (a validação real) I segundo o Pete respondeu: Você tem que fazê-lo Serverside em qualquer técnica que você está usando lá. Quando é exibido no JSP novamente, validação espero longo sido feito.

Como eu disse "hoje em dia": Quando JSP foi um novo conceito brilhante, muito mais foi feito dentro dos limites de uma JSP e, por vezes, até mesmo formulários foram expedidos para JSPs. Como para validar foi ainda mais fora do padrão naquele tempo.

JSP é uma "vista" no padrão MVC, e deve, portanto, ser usado apenas para apresentar os dados para o usuário. Qualquer lógica de aplicação, incluindo a lógica de validação, deve ser server-side feito. Se este JSP se destina a ser uma parte de um aplicativo grande, eu recomendo usar Spring MVC para configurar seu aplicativo, e escrevendo um validador para validar a entrada. Mas mesmo se nós não estamos falando sobre algum grande aplicação aqui, a validação deve ainda ser server-side feito, como outros antes de mim já observamos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top