Como criar uma classe de validação em java
Se você está sentindo realmente ambicioso, você pode criar uma classe separada para armazenar métodos que fazer validação de dados em Java. É uma boa idéia para fazer os métodos static para que você não tem que criar uma instância da classe de validação para usar seus métodos.
Conteúdo
Além disso, para evitar a analisar os dados, duas vezes, escrever os métodos de validação de modo a que eles retornam dois valores: um booleano que indica se os dados podem ser analisados e uma primitiva que fornece o valor analisado.
Um método pode retornar apenas um valor, é claro. A única maneira de persuadir um método para retornar dois valores é retornar um objeto que contém ambos os valores, e para fazer isso, você tem que criar uma classe que define o objeto. Aqui está um exemplo de uma classe que você pode usar como o valor de retorno de um método que valida números inteiros:
Video: Java #11 - Validação de dados - CPF, CNPJ, Datas e máscaras
{De valor int public boolean isValid-public} IntValidationResult classe pública
E aqui está uma classe que fornece um método estático chamado isint que valida os dados inteiros e retorna um IntValidationResult objeto:
Video: Programar em Java - Variável de Instância e Classe - Aula 45
classe pública Validação {public static IntValidationResult isint (JTextField f, String msg) {resultado IntValidationResult = new IntValidationResult () - try {result.value = Integer.parseInt (f.getText ()) - result.isValid = true-retorno result- } catch (NumberFormatException e) {JOptionPane.showMessageDialog (f,"Erro de entrada", Msg, JOptionPane.ERROR_MESSAGE) -f.requestFocus () - result.isValid = false-result.value = 0 retorno result-}}}
Aqui está um método que utiliza a isint método desta classe para validar a textCount campo:
public void buttonOKClick () {IntValidationResult ir-ir = Validation.isInt (textCount,"Você deve digitar um número inteiro.") -se (ir.isValid) {JOptionPane.showMessageDialog (Number2.this,"você digitou " + Ir.value,"Seu número", JOptionPane.INFORMATION_MESSAGE) -} textCount.requestFocus () -}