Boa noite Galera
Como faço para validar, e dar uma mensagem se existir valores string em um campo Intefer, assim que eu clicar no botao cadastrar,
[b]Aguardo resposta, muito obrigado.
Boa noite Galera
Como faço para validar, e dar uma mensagem se existir valores string em um campo Intefer, assim que eu clicar no botao cadastrar,
[b]Aguardo resposta, muito obrigado.
Desktop ou web?
Se for web você pode validar com javaScript e se for desktop faça uma validação com try catch que pode resolver o seu problema.
se não for isso especifique melhor o que está querendo.
é desktop
como poderia fazer para validar com try e catch, pra não aceitar em um campo Integer, os valores em String.
Desde já agradeço;
InputMismatchException deve servir ou caso você esteja utilizando como entrada de dados a classe JOptionPane utilize a
execption NumberFormatException.
ok muito obrigado, wenderson vc tem alguma parte em algum codigo seu, que vc ja aplicou isso, se vc poder me mostrar eu agradeço.
Melhor ainda é fazer com que seu JTextField só aceite inteiros. Aí não terá como inserir caracteres:
http://www.guj.com.br/posts/list/107425.java
Você também pode utilizar expressões regulares.
[code]import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Teste {
public boolean validaInteiro(String value) {
return Pattern.matches("[0-9]+", value);
}
public static void main(String[] args) {
Teste t = new Teste();
if (t.validaInteiro("15")) {
System.out.println("É inteiro");
} else {
System.out.println("Não é inteiro");
}
}
}[/code]
Se você vai fazer um for de caractere em caractere, para que usar expressões regulares?
Nesse caso, você tem opções melhores como testar com Character.isDigit.
Ou use regex para valer:
public boolean validaInteiro(String value) {
return pattern.matches("[0-9]+", value);
}
Valeu VIni, é que eu não sabia usar direito o Regex, por isso eu disse que o código tá meio ruinzinho.
Segue um exemplo simples.
Então aqui vou criar uma ação onde é pedido que o usuário digite um número qualquer, caso o
usuário não tenha digitado um número é novamente feita a pergunta para que ele digite um número,
a ação somente é ecerrada quando o usuário digitar um número e não uma String.
public static void main(String[] args) {
boolean status = true;
int number = -1;
while (status) { // enquanto o flag for true a ação continua
try {
number = Integer.parseInt(JOptionPane.showInputDialog("Type a number: "));
status = false; // caso a linha de comando chegue até aqui significa que o usuário digitou
// um número, sendo assim a ação é terminada
}
catch (NumberFormatException exception) {
// caso tenha sido digitado uma String a exceção é capturada
JOptionPane.showMessageDialog(null, "Error: Is to type a number!");
}
}
}
se você estiver usando NetBeans fica mais facil usar o campo com mascara JFormattedTextField nas propriedades dele configura a mascara com o caracter # ele aceita só numeros se você quiser um campo com 5 numeros por exemplo define #####
Gostaria de agradecer a todos que postarmam me ajudando, muito obrigado.