2012-05-17 53 views
5

我已經下載並安裝了「Simple Validation」NetBeans插件,但不知道如何使用它,因爲我找不到它在哪裏(在工具箱中)。

任何人都可以通過告訴我在哪裏可以找到它,以及在我的表單域中應用驗證的步驟是否可以幫助我。

我還看到有一個驗證API JAR文件,我下載並將其包含在我的項目中。它提供了3個控件(或者我應該說的)。 「ValidationPanel」,「ValidationUtils」和「Problems」。我在網站&後面看到一個例子。我拖着-和放棄了「ValidationPanel」和寫的代碼所示下面的代碼如何使用「簡單驗證API」來驗證Netbeans中的Java Swing表單

final ValidationGroup group = validationPanel1.getValidationGroup(); 

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

但似乎JAR文件包含不完整的文件或可能有其他的問題,因爲它給了錯誤:找不到符號:變量「驗證程序」

對不起,我認爲這些是2個問題,但請親切地幫助我解決問題。
在此先感謝

+3

爲什麼要打擾外部API,當您可以在Java中使用它時,請查看[使用JLayer進行字段驗證](http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer。html#validation) –

+0

當你擁有功能強大,外觀漂亮且易於實現的API時,爲什麼還要自己做所有的工作? – Milox

回答

0

您是否import需要打包?

+0

是的。當我在NetBeans中編寫代碼時,它給「ValidationGroup」類帶來了同樣的錯誤,當我點擊IDE左側的一個氣球時,它建議我爲它導入包,當我點擊它時,它導入了apckage,但它並不建議我爲「Validators」導入軟件包 – swdeveloper

+0

@swdeveloper你確定甚至有一個叫做Validator的類嗎?我看着圖書館,但看不到一個。 – Tharwen

+0

@ Tharwen這是真正的問題。我下載的代碼示例(和上面顯示的)使用它(即Validators)作爲類,並且似乎有一些常量指示應該在該字段上應用哪種類型的驗證,但NetBeans不會爲此提供任何導入。所以我也很困惑,如果它是一個班級? – swdeveloper

1

你只是想要「驗證面板」。

現在它似乎被稱爲「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); 
1

你正在做什麼用的線是創建一個驗證組,並添加一個字段3條驗證規則,但你仍然需要一種方式來顯示在屏幕上。

簡單的驗證API提供了兩個內置的,我所知道的,你既可以使用​​或org.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel() UI輔助,否則你就必須實現與org.netbeans.validation.api.ui.ValidationUI接口自己的UI控件。

  • ValidationPanel創建JPanel牽你的輸入控件以及確定和取消按鈕加上標籤,以顯示錯誤消息。

  • 在另一方面,你有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。