Validação no Form

Olá Pessoal!

Sou iniciante e estou com uma dificuldade…
Não estou conseguindo validar um campo do meu formulario, (CPF) eu quero que o usuario digite apenas numeros mas estou usando mascara neste campo, isto esta atrapalhando minha validação. Dem uma olhada no meu código de validação…

if (getCpfCliente() == null || getCpfCliente().length() < 14) {
errors.add(“cpfCliente”, new ActionMessage(“error.cpfCliente.required”));

    }else{
        try{

            long i = Long.parseLong(getCpfCliente());
            
        }catch(Exception e){
            errors.add("cpfCliente2",new ActionMessage("error.cpfCliente2.required"));
        }
    }

se alguém puder ajudar agradeço…

No código do seu getCpfCliente(), você pode fazer um teste… a cada caracter que você ler, você verifica se é numérico, e caso não seja, você sobreescreve o caracter por vazio, assim você vai ter apenas números.

É uma forma…

A outra é utilizar javascript no input que não permita a digitação de caracteres que não seja número.

Cara, acho que uma boa solução para o seu problema seria utlizar mascaras javascript.
Claro que isso não vai substituir uma validação server-side, mas garante boa parte do trabalho.
Um link interessante com diversas máscaras:
http://elcio.com.br/ajax/mascara/

Utilizando esta abordagem, você só precisaria fazer um replace no java (trocando “.” e “-” por “”).

Sorte