5

「Simple Validation」NetBeans プラグインをダウンロードしてインストールしましたが、(ツールボックスの) どこにあるのか分からないため、使い方がわかりません。

どこでそれを見つけることができ、フォームフィールドに検証を適用する手順を教えてください。

Validation API JAR ファイルがあることも確認したので、ダウンロードしてプロジェクトに含めました。それは3つのコントロールを提供しました(または私が言うべきことは何でも)。「ValidationPanel」、「ValidationUtils」、および「Problems」。ウェブサイトで例を見て、それに従いました。「ValidationPanel」をドラッグアンドドロップし、次のコードに示すようにコードを記述しました

final ValidationGroup group = validationPanel1.getValidationGroup();

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

しかし、JARファイルに不完全なファイルが含まれているか、他の問題が発生している可能性があります

.
前もって感謝します

4

3 に答える 3

1

「ValidationPanel」が必要なだけです。

現在は「org.netbeans.validation.api.builtin.stringvalidation.StringValidators」と呼ばれているようです。

final ValidationGroup group = validationPanel1.getValidationGroup();

group.add(txtUserName, StringValidators.REQUIRE_NON_EMPTY_STRING,
StringValidators.NO_WHITESPACE,
StringValidators.REQUIRE_VALID_INTEGER);
于 2012-08-26T00:02:12.450 に答える
1

これらの行で行っていることは、検証グループを作成し、3 つの検証ルールを含むフィールドを追加することですが、それを画面に表示する方法が必要です。

シンプルな検証 API には、私が認識している 2 つの組み込み UI ヘルパーが用意されています。org.netbeans.validation.api.ui.swing.ValidationPanelまたはを使用できorg.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel()ます。それ以外の場合は、インターフェースを使用して独自の UI ウィジェットを実装する必要がありorg.netbeans.validation.api.ui.ValidationUIます。

  • ValidationPanelJPanel入力コントロール、OK ボタン、キャンセル ボタン、エラー メッセージを表示するラベルを保持する を作成します。

  • 一方、ProblemLabelこれは最も簡単な実装であり、私にとってはほとんどの一般的なケースで機能します。小さな例を次に示します。

        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);
    

そうすれば、validationLabelのような他のコンテナやフォーム自体に追加できる を取得できます。この場合、問題のラベルを付けるJPanelという名前のパネルがあります。contentPanel

これはドキュメントが貧弱な素晴らしい API であるため、これが少し明確になることを願っています。

于 2012-09-28T02:56:56.267 に答える
0

import必要なパッケージはありましたか?

于 2012-05-17T07:20:03.490 に答える