Regex inputText

5 respostas
A

Galera é o seguinte, estou tentando fazer um regex aqui em um inputtext para aceitar apenas letras, tentei de várias formas mas ele continua aceitando números.
O que tenho que fazer?

Meu código:

<p:inputText id="nome" value="#{usuarioMB.usuario.nome}" required="true" requiredMessage="#{msg.nomeRequerido}" maxlength="45" > <f:validateRegex pattern="[a-zA-Z]*"/> </p:inputText>

5 Respostas

kdoigor

"[a-zA-Z]" sem o asterisco

E

Imagino que maxlength esteja interferindo com validateRegex (os exemplos que encontro na Internet não usam esses dois caras juntos).

Você pode tirar o maxlength, e deixar só o validateRegex como:

<f:validateRegex pattern="[a-zA-Z]{1,45}"/>

se quiser que tenha de 1 até 45 letras. Se aceitar um campo vazio, pode escrever {0,45} em vez de {1,45}.

A

Tentei deste jeito, mas não deu certo !

entanglement:
Imagino que maxlength esteja interferindo com validateRegex (os exemplos que encontro na Internet não usam esses dois caras juntos).

Você pode tirar o maxlength, e deixar só o validateRegex como:

<f:validateRegex pattern="[a-zA-Z]{1,45}"/>

se quiser que tenha de 1 até 45 letras. Se aceitar um campo vazio, pode escrever {0,45} em vez de {1,45}.

Tentei assim também e nada!

Outra dúvida, quando tenho um input associado a um atributo inteiro o valor do input já vem preenchido com 0, teria alguma forma de fazer que ele venha vazio?

E

Se ele ainda está aceitando só números, não é que há algum problema de deploy (instalação) então?

Deve ser que o código antigo (que aceitava apenas números) é o que está implantando e que você está testando.

É impossível aceitar só números com a expressão regular que você está usando.

A

entanglement:
Se ele ainda está aceitando só números, não é que há algum problema de deploy (instalação) então?

Deve ser que o código antigo (que aceitava apenas números) é o que está implantando e que você está testando.

É impossível aceitar só números com a expressão regular que você está usando.

Coloquei do jeito que tu falou:

<p:inputText id="nome" value="#{usuarioMB.usuario.nome}" required="true" requiredMessage="#{msg.nomeRequired}" validatorMessage="#{msg.nomeInvalido}"> <f:validateRegex pattern="[a-zA-Z]{1,45}"/> </p:inputText>

Já limpei a pasta de deploys… já reiniciei o servidor e nada!
:confused:

Criado 28 de agosto de 2012
Ultima resposta 29 de ago. de 2012
Respostas 5
Participantes 3