2012-11-28 37 views
0

我想檢查文本框的列表,並附有確認循環功能
Java的如何檢查文本框的列表,循環驗證功能

如果有人能解釋我是如何做到這一點THKS;)

我這樣做:

public void validation() 
    { 
     List<String> list = new ArrayList<>(); 
     list.add("LastNameTextField"); 
     list.add("nameTextField"); 
     list.add("ageTextField"); 
     list.add("AdressTextField");   
     list.add("PhoneTextField1");   


     for(String check :list) 
     { 
      if(validator((check.toString()).toString())) 
/*here i just want to get the field name and this value */ 
      JOptionPane.showMessageDialog(null, check+ " Empty value"); 
     } 


    } 

    public static boolean validator(String TextFieldTextToCheck) 
    { 
     if ((TextFieldTextToCheck== null) || (TextFieldTextToCheck.length() == 0)) { 
      return true ; 
     } 
     else return false; 
    } 

我沒有找到獲取字段值,如果有人能幫助
感謝您的時間的方式

+0

@RohitJain那是什麼? :O –

+0

@ Eng.Fouad ..沒什麼,只是挑剔。 ;) –

回答

1

爲了記錄,我沒有Java經驗的分配。如果我理解正確,您正在嘗試驗證GUI中幾個TextField的內容。驗證只能確保文本字段爲空。我建議您不要使用textField名稱的集合,而只需使用您希望驗證的文本字段的引用集合。

所以你的ArrayList中填充文本框的引用來:

ArrayList<TextField> textFields = new ArrayList<TextField>(); 
textFields.add(textbox1); 
textFields.add(textbox2); 
textFields.add(textbox3); 
textFields.add(textbox4); 

您遍歷像以前一樣ArrayList中。我使用System.Out來調用我自己的測試。:

for(TextField textField : textFields) { 
    if(validateTextField(textField)) { 
     //JOptionPane.showMessageDialog(null, textField.getText() + " Empty value"); 
     System.out.println(textField.getName() + " has an Empty value"); 
    } 
} 

驗證函數現在看起來像這樣。我添加了一個NULL參考的測試,但是你可以不要這樣做。:

public static boolean validateTextField(TextField textField) { 
    if(textField == null) throw new NullPointerException("The validate function received a null textfield reference. Check your loop."); 
    return textField.getText().length() == 0; 
} 
1

您的if條件不正確。

if(validator((check.toString()).toString())) 

應更正爲:

if(YourClass.validator(check)) 

說明:

  1. check已經是字符串。無需撥打toString()就可以了。

  2. validator方法是一個靜態方法,所以把它稱爲static方式YourClass.validator其中YourClass是你的類名。

  3. validator方法的返回booleanif預計boolean所以沒有必要再得到一個字符串。

+0

但它不是一個類它的我的文本域的gui 和驗證器從textfield.ToString 接收值,我想用循環函數檢查我所有的文本域 – Benius

+0

@Benius我的意思是:你必須定義這個方法'公共靜態布爾驗證器(字符串TextFieldTextToCheck)'在某些類,對吧?使用該類名稱。 –

+0

沒有我的UI類 我想檢查,如果textfield是NOTEmpty例如 和之後,我將信息添加到我的用戶字段將其添加到數據庫 – Benius