validação inputText do primefaces

alguem sabe me dizer como faço a validação do campo texto do primefaces para permitir que somente receba letras pelo usuário, estou usando a biblioteca 3.2

Você pode criar um validator pra aceitar so letras ou vai ter que criar uma função em javascript pra isso.

Se for uma mask tem o componente inputMak.

[]'s

como eu crio um validador na tela msm?

meu codigo ta assim:
<h:outputText value=“Nome: *” />
<p:inputText size=“60” value="#{MBPaciente.nome}" maxlength=“65” />

tbm ja tentei isso:
<p:inputText id=“secret” values="#{MBPaciente.nome}" >
<p:validateRegex pattern="[a-zA-Z ]*" />
</p:inputText>

mais nao deu certo

Olá!

Eu utilizo o p:inputMask do próprio Primefaces

 <p:inputMask value="#{MBPaciente.nome}" mask="aaaaaaaaaa"/>  

Em mask, informe:
a - Representa um caractere alfa (A-Z,a-z)
9 - Representa um número (0-9)

    • Representa um caractere alfanumérico (A-Z,a-z,0-9)
1 curtida

blza ricardo leme, até daria para usar o input mask, o problema é que nao se sabe ao certo quantos caracteres o usuario vai digitar, no meu caso eh o campo nome do paciente
colocando o inputMask se torna obrigatorio o preenchimento de todos os caracters contidos na mascara, mais um nome pode ter poucos ou varios caracteres
mais alguma dica

bom dei uma olhada, faria assim…

criaria um validator

[code]public void validaNumero(FacesContext context, UIComponent toValidate, Object value) {
boolean valida = false;
if(value != null){
for (char letra : ((String) value).toCharArray()) {
if(letra < ‘0’ || letra > ‘9’) {
valida = true;
break;
}
}

         ((UIInput) toValidate).setValid(!valida);

        FacesMessage message = new FacesMessage(" Valor com numeros!");
        message.setSeverity(FacesMessage.SEVERITY_ERROR);
        context.addMessage(toValidate.getClientId(context), message);
    }[/code]

e chamaria o validator no campo

... validator="#{empresaController.validaNumero}"/>

não testei, fiz direto aqui

tirei daqui.: http://javafree.uol.com.br/topic-880048-Como-verificar-se-so-existe-numeros-dentro-da-String.html

agora se tem algo melhor nao sei tambem =P

mais uma coisa

da para verificar ali na função

for (char letra : texto.toCharArray()) if(letra.isLetter) { //mens de erro }

tambem nao testei, mas é mais legivel e compacto

blza otavio, esses parametros que o metodo de validação recebe vem de onde ?
vou tentar se der certo posto aqui

vc colocando o validator no campo do nome

<p:inputText id="email" value="#{usuarioController.usuario.email}" size="40" required="true" requiredMessage="Email Obrigatório" validator="#{usuarioController.validaEmail}"/>

o valor que ele passa e o conteudo do campo