Validação de campos

6 respostas
V

Pessoal ,

Estou com um probleminha aqui sobre validação de campos.

Tenho um campo texto (textfield) no meu formulário e gostaria de validar esse campo, de forma que quando o usuário for digitar algo, essa caixa de texto não receba letras e apenas números.

Tem como fazer isso?

To usando o Visual Java Server Faces.

Obrigada.

6 Respostas

Marco_A_Caetano

Usa javascript ué… a cada onChange chama suaFuncao(this.value) e trata seu campo

danielfigueiredoc

Cara você tem q fazer pelo JavaScript e no Java pra garantir uma segurança razoavel.
COm o JavaScript seria aconselhavel usar o evento onKeyPress ou onKeydown pra ativa ro método javascript, mas vc vai encontrar uns probleminhas pra implementar.
O que você pode fzer é usar algo pronto, como uma máscara do JQuery

Com relação a segurança eu digo que se voce só validar com javascript, o cara com firebug pode alterar o valor na mao e enviar a requisição pro banco, esse vai ser do tipo numérico e vai receber a string, e vai dar pau na sua aplicação.
Dai voce pode validar isso pelos JavaBeans de inúmeras formas =]

Abraço!

Marco_A_Caetano

e como vc sugere fazer essa validação dinamicamente por java? rs…

eu disse javascript pq o cara quer a validação dinâmico… e não validar depois do submit

V

Oi Marco,

Você poderia me dar um exemplo disso? Não estou conseguindo fazer.

Obrigada.

Marco_A_Caetano

Exemplo:

<script type="text/javascript">

function SomenteNumero(e){
var tecla=(window.event)?event.keyCode:e.which;

if((tecla > 47 && tecla < 58)) 
return true;
else{
if (tecla != 8) 
return false;
else 
return true;
}
}
</script>

e no form:

<input name="nome_do_campo" onkeypress='return SomenteNumero(event)' />

Ps.: Não testei ainda

danielfigueiredoc

Não po, eu disse: "Com relação a segurança eu digo que se voce só validar com javascript, o cara com firebug pode alterar o valor na mao e enviar a requisição pro banco, esse vai ser do tipo numérico e vai receber a string, e vai dar pau na sua aplicação.
Dai voce pode validar isso pelos JavaBeans de inúmeras formas =] "

Impossível fazer pelo java que não está no lado cliente. Pelo JAVA você simplesmente faz um Regex e retorna uma exceção. No caso do fire bug, como também mencionado xD

Abraço!

Criado 14 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 6
Participantes 3