Seguinte pessoal
Eu tenho um textField e eu jah coloquei algumas validações nela, como somente aceitar numeros.
Agora preciso que somente aceite numeros entre 1 e 5.
Se alguem puder me ajudar.
Vlw!
Seguinte pessoal
Eu tenho um textField e eu jah coloquei algumas validações nela, como somente aceitar numeros.
Agora preciso que somente aceite numeros entre 1 e 5.
Se alguem puder me ajudar.
Vlw!
vc pode implementar a Validator , do faces;
depois no faces-config.xml, caso jsf 1.1, vc registra seu validator.
<validator>
...
<validator-id>nomeDoValidator</validator-id>
<validator-class>
pacotes.nomeDaClasseDoValidator
</validator-class>
</validator>
depois é só vc chamar este validator, no input que quizer.
Para permitir apenas números você está implementando um Document? Se for fica uma idéia para permitir apenas números entre 1 e 5:
// Implementação do método insertString.
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
super.insertString(offs, str.replaceAll("[^1-5]", ""), a); // Apaga tudo que não seja um caractere entre 1 e 5.
}
Não entendi muito bem, eu quero que ele só aceite os numeros 1, 2, 3, 4 e 5.
Se ele tentar digitar 6 ou 0 ou 9 ele não aceite.
Vlw
Como você fez para o text field aceitar apenas números?
Você coloca um codigo no Evento KeyTyped do seu TextField .
Só colocar esse codigo aqui:
char c = evt.getKeyChar();
if(!Character.isDigit(c) ){
evt.consume();
JOptionPane.showMessageDialog(null,"Informe apenas Números!");
}
Blzinha!
:lol:;)
Eu tinha falado em implementar essa validação no Document, porque assim você atua diretamente no modelo do text field.
Implementando KeyListener do jeito que está só vai validar se o usuário digitar letra por letra no teclado. Por exemplo, o texto “12345” é válido, pois contém apenas números, mas se o usuário copiar e colar com Ctrl + V, ele será invalidado, pois o evt.getKeyChar() vai retornar ‘V’. Outro problema, se o usuário copiar e colar com mouse, qualquer texto será inserido sem passar pela validação, pois nenhum evento de teclado será disparado.
Se quiser entender melhor como funciona o Document, indico este artigo: http://www.guj.com.br/article.show.logic?id=29
Então isto eu sei.
Porem o meu textField é um campo nota! que só aceita numeros e apenas 1 numero.
Se fosse um TextField diferente, tipo, numero de telefone ou algo parecido, eu teria pego outro código.
Mas Vlw.
Mas vou dar uma olhada no topico.
Vlw cara.
char c = evt.getKeyChar();
if((c < '1') || (c > '5')){
evt.consume();
JOptionPane.showMessageDialog(null,"Informe apenas Números entre 1 e 5!");
}
Blz cara…
Vlw vou testar o Codigo.
Qualquer duvida eu posto mesmo.
Abraços