[Resolvido] JSP - Verificar quantidade de caracteres do form

11 respostas
D

Olá.

Como faço para criar um laço if / else em JSP para saber se os
caracteres de um textarea, por exemplo são maiores que um número informado por mim.

Os caracteres são Strings mesmo.

Preciso fazer isso em JSP, pois se for em javascript, basta
desabilitá-lo e ficará um buraco no tratamento do form =/

Espero uma ajuda.
Obrigado

11 Respostas

S

Opcao 1 - Client Side utilizando javascript;

Opcao 2 - Server Side utilizando java mesmo;

Não tem como você fazer isso utilizando jsp.

R

O ideal é fazer a validação em JavaScript e no servlet também. Só compare o tamanho (length) quando o formulário é submetido. Aliás, se você estiver usando um framework, com certeza já tem alguma coisa dessas pronta.

D

Mas é claro que tem que ser submetido primeiro.

Mas é isso que estou procurando: após submeter, fazer a comparação. Se os caracteres foram maiores ou menores, voltar para a página anterior.

Como se usa o length neste caso?

[]s

N

pera ai deixa eu ver se entendi:

vc quer antez de dar submit ver quantos caracteres tem no campo por exemplo 12 e depois do submit no servidor verificar se chegou 12?? hehe

ou vc quer saber para limitar a quantidade de caracteres?

D

Opa.

E ae, td bem?

Bom, sobre sua pergunta: quero saber para limitar a quantidade de caracteres mesmo.

[]s

A

Ae galera, é o seguinte, não sei se é isto que vocês estão procurando exatamente
se o caso for em questão de valores será somente por meio de uma condição if caso seja maior que o valor desejado ou permitido por você.

agora, se o caso for em questão de largura de character você pode delimitar no próprio html você pdoe fazer assim, quando você for adicionar o campo input no jsp para ter as caixas para digitar você apenas irá agregar o maxlenght, que como no exemplo aqui eu coloquei 5, que não pode passar de um valor de 5 digitos.

espero ter ajudado
abraços

D

e ae, blz?

Sim eu sei, mas é para um textarea mesmo, então no html não dá.

[]s

A

Pronto, dei uma olhada em javascrip e cheguei na resposta gente

so vamos utilizar um javascript para delimitar o textarea, e dentro dele fazemos a chamada olha como eu fiz
<html>
<head>
<title>Textarea com limite de caracteres</title>
</head>
<SCRIPT LANGUAGE="JavaScript">

<!-- 
function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit) // se for muito longo... paraliza até limite
        field.value = field.value.substring(0, maxlimit);
        // de qualquer forma, faça o update do caracteres restantes na contagem
    else 
        countfield.value = maxlimit - field.value.length;
}
//  -->
</script>


<body>
<form name=myform action="#">
    <font size="1" face="arial, helvetica, sans-serif"> 
    ( Você pode inserir até 125 caracteres. )<br>
    <textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);">
    </textarea>
    <br>
    <input readonly type=text name=remLen size=3 maxlength=3 value="125">
characters left</font>
</form>
</body>
</html>

pra alterar o tanto de caracteres é so alterar o valor 125 que é o delimitado
Abraço galera

D

Mas se for apenas em javascript, o usuário pode muito bem desabilitá-lo e enviar mesmo assim, não acha?

E é isso que não quero, por isso procuro uma maneira de fazer isso em JSP mesmo.

[]s

D

Olá pessoal do GUJ, encontrei uma solução bem simples para todos os campos do form. =]

if (comentario.length() > 2) { out.println("Comentário maior que 2!"); return; }

Este campo é um textarea, e pensei que não daria certo, mas está estabilizado agora.

Abraços a todos.

I

nesse caso fiz assim nesse codigo que estou fazendo.

funcionou sem problemas

Criado 15 de dezembro de 2008
Ultima resposta 4 de jul. de 2011
Respostas 11
Participantes 6