Comment créer une classe de validation en java

Si vous vous sentez vraiment ambitieux, vous pouvez créer une catégorie distincte pour tenir méthodes qui font la validation des données en Java. Il est une bonne idée de rendre les méthodes statiques de sorte que vous ne devez pas créer une instance de la classe de validation à utiliser ses méthodes.

Aussi, pour éviter l'analyse des données deux fois, écrire les méthodes de validation pour qu'ils reviennent deux valeurs: un booléen qui indique si les données peuvent être analysées et une primitive qui fournit la valeur analysée.

Une méthode peut renvoyer qu'une seule valeur, bien sûr. La seule façon d'amadouer une méthode pour retourner deux valeurs est de retourner un objet qui contient à la fois des valeurs, et pour ce faire, vous devez créer une classe qui définit l'objet. Voici un exemple d'une classe, vous pouvez utiliser la valeur de retour d'une méthode qui valide entiers:




IntValidationResult public class {int booléen publique IsValid-publique à valeur}

Et voici une classe qui fournit une méthode statique nommée isint qui valide les données entiers et retourne une IntValidationResult objet:

public class Validation {public static IntValidationResult isint (f JTextField, String msg) {result = new IntValidationResult IntValidationResult () - try {result.value = Integer.parseInt (f.getText ()) - result.isValid = true-retour result- } catch (NumberFormatException e) {JOptionPane.showMessageDialog (f, "Erreur d'entrée", msg, JOptionPane.ERROR_MESSAGE) -f.requestFocus () - result.isValid = false-result.value = 0-retour result-}}}

Voici une méthode qui utilise le isint Procédé de cette classe de valider le TextCount champ:

public void buttonOKClick () {IntValidationResult ir-ir = Validation.isInt (TextCount, "Vous devez entrer un nombre entier.") - si (ir.isValid) {JOptionPane.showMessageDialog (Number2.this, "Vous avez saisi" + ir.value «Votre numéro», JOptionPane.INFORMATION_MESSAGE) -} textCount.requestFocus () -}

» » » » Comment créer une classe de validation en java