2012-05-17 2 views
5

Ich habe das "Simple Validation" NetBeans Plug-in heruntergeladen und installiert, weiß aber nicht, wie ich es verwenden kann, weil ich nicht finde, wo es vorhanden ist (in der Toolbox).
Kann mir jemand bitte helfen, indem ich sage, wie wo ich es finden kann und welche Schritte die Validierung auf meine Formularfelder anwenden.

Ich sah auch, gab es eine Validierung API JAR-Datei und ich heruntergeladen und in meinem Projekt enthalten. Es stellte 3 Kontrollen zur Verfügung (oder was auch immer ich sagen sollte); "ValidationPanel", "ValidationUtils" und "Probleme". Ich sah ein Beispiel auf einer Website & folgte ihm. Ich schleppte und Ablegen der „ValidationPanel“ und den Code geschrieben, wie in den folgenden CodeVerwendung von "Simple Validation API" zur Validierung von Java Swing-Formularen in NetBeans

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
Validators.NO_WHITESPACE, 
Validators.REQUIRE_VALID_INTEGER); 

gezeigt Aber es scheint, JAR-Datei unvollständig Dateien enthält, oder es kann ein anderes Problem sein, weil es Fehler gibt: nicht Symbol finden: Variable "Validatoren"
Es tut mir leid, ich denke, das sind 2 Fragen, aber bitte helfen Sie mir, wie es zu lösen.
Vielen Dank im Voraus

+3

Warum sollten Sie sich für eine externe API interessieren, wenn Sie sie in Java verwenden können? Schauen Sie sich [Validierung von Feldern mit JLayer] an (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer).html # validation) –

+0

Warum sollten Sie die Arbeit selbst erledigen, wenn Sie eine leistungsstarke, gut aussehende, robuste und einfach zu implementierende API haben? – Milox

Antwort

0

Haben Sie import das erforderliche Paket?

+0

Ja. Als ich den Code in NetBeans schrieb, gab es denselben Fehler für die "ValidationGroup" -Klasse und als ich auf eine Sprechblase auf der linken Seite von IDE klickte, schlug ich vor, das Paket dafür zu importieren, und als ich darauf klickte, importierte er die aber es schlägt mir nicht vor, ein Paket für "Validatoren" zu importieren. – swdeveloper

+0

@swdeveloper Sind Sie sicher, dass es sogar eine Klasse namens 'Validators' gibt? Ich schaute auf die Bibliothek, konnte aber keine sehen. – Tharwen

+0

@ Tharwen das ist das eigentliche Problem. Das Codebeispiel, das ich heruntergeladen habe (und oben gezeigt habe), verwendet es (d. H. Validatoren) als eine Klasse und es scheint einige Konstanten zu geben, die angeben, welche Arten von Validierung auf dieses Feld angewendet werden sollten, aber NetBeans schlägt keinen Import dafür vor. Also bin ich auch verwirrt, wenn es eine Klasse ist? – swdeveloper

1

Sie wollen nur das "ValidationPanel".

Es scheint jetzt "org.netbeans.validation.api.builtin.stringvalidation.StringValidators" zu heißen.

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, StringValidators.REQUIRE_NON_EMPTY_STRING, 
StringValidators.NO_WHITESPACE, 
StringValidators.REQUIRE_VALID_INTEGER); 
1

Was Sie mit diesen Zeilen tun wird eine Validierungsgruppe zu schaffen und ein Feld mit drei Validierungsregeln hinzufügen, aber Sie müssen noch eine Möglichkeit, dass auf dem Bildschirm zu zeigen.

Einfache Validierung API bietet zwei integrierte in UI Helfern, die mir bewusst bin, können Sie entweder die org.netbeans.validation.api.ui.swing.ValidationPanel oder die org.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel(), sonst werden Sie Ihren eigenen UI-Widget mit dem org.netbeans.validation.api.ui.ValidationUI Schnittstelle implementieren müssen.

  • ValidationPanel erstellt ein JPanel Ihre Eingangskontrollen zu halten und Schaltflächen OK und Abbrechen sowie die Beschriftung der Fehlermeldungen anzuzeigen.

  • Auf der anderen Seite Sie die ProblemLabel haben, die die einfachste Implementierung ist und für mich funktioniert es in den meisten üblichen Fällen ist hier ein kleines Beispiel:

    SwingValidationGroup group = SwingValidationGroup.create();; 
    
        group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
        Validators.NO_WHITESPACE, 
        Validators.REQUIRE_VALID_INTEGER); 
    
        JComponent validationLabel = group.createProblemLabel(); 
        contentPanel.add(validationLabel); 
    

Auf diese Weise haben Sie die validationLabel, dass Sie können zu jedem anderen Container wie JPanel oder zum Formular selbst hinzufügen, in diesem Fall habe ich ein Panel mit dem Namen contentPanel, dass ich das Problem Label anhängen.

Ich hoffe, dies klärt es ein wenig, da dies eine geniale API mit schlechter Dokumentation ist.

Verwandte Themen