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)
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