2014-04-20 4 views
-1

사용자 입력을 텍스트 상자의 유효성을 검사하려고합니다. 나는 텍스트 상자가 채워지는지 여부를 확인하고 그렇지 않은 경우 텍스트 상자가 채워지지 않은 사용자에게 경고해야합니다. 내 문제는 텍스트 상자/변수가 비어있는 반환하는 방법이 필요하다는 것입니다. 나는 2 개의 값을 전달해야한다는 것을 알고있다. 하나는 텍스트 상자의 내용이고 다른 하나는 텍스트 상자의 식별자이다.JTextFields에서 사용자 입력 유효성 확인 (Java)

현재 배열의 각 변수가 채워 졌는지 확인하는 (StackOverflow에서 찾을 수 있습니다.)이 있습니다.

public boolean areAllNotEmpty(String... text){ 

    for(String s : text) { 
     if(s == null || "".equals(s)) { 

      return false; 
     } 
    } 
    return true; 
} 

나는 또한이 같은 (주석) 반환을 싶습니다

public boolean areAllNotEmpty(String... text){ 

    for(String s : text) { 
     if(s == null || "".equals(s)) { 
      // return textbox name/value OR show alert box with "Forename missing" etc 
      return false; 
     } 
    } 
    return true; 
} 
나는 C# 프로젝트에 전에이 방법을 구현

하지만 여러 한 번에 하나 개의 텍스트 상자에 통과 필요를 내가 추측하는 메서드 호출은 훌륭하지 않습니다.

public static bool IsFieldNull(TextBox currentText, string type) 
    { 
     bool allOk = false; 

     if (currentText.Text == "") 
     { 
      MessageBox.Show("Error - '" + type + "' field cannot be left blank, please enter some data in this field"); 
      currentText.Focus(); 
      return allOk; 
     } 

     else 
     { 
      allOk = true; 
      return allOk; 
     } 

이것은 C#에서 호출되는 방법입니다.

Validation.IsFieldNull(txtBoxFixtureDate, "Fixture Date") && Validation.IsFieldNull(txtBoxTime, "Time") 

그 중 하나라도 이해가되지 않으면 알려주세요.

도움 주셔서 감사합니다.

+0

어떤 종류의 텍스트 상자입니까? 'JTextField'처럼? 그렇지 않은 경우 TextBox 클래스를 표시하여 작업중인 내용을 확인하십시오. –

+0

예, JTextFields. 죄송합니다. 질문을 수정합니다. – Chris

답변

1

당신은 방법과 구성 요소를 통과하고 다음과 같이 비어있는 것을 반환 할 수 :

다음
public List<JTextField> getEmptyFields(JTextField... textFields) { 
    List<JTextField> emptyFields = new ArrayList<JTextField>(); 
    for (JTextField field : textFields) { 
     if (field.getText().isEmpty()) { 
      emptyFields.add(field); 
     } 
    } 

    return emptyFields; 
} 

방금 ​​빈 필드가 있다면 결정하기 위해 반환 된 목록의 size()을 확인하고 처리 할 수 ​​있습니다 그에 따라.

0

제출 버튼을 누를 때 유효성을 검사하는 것이 유용하지는 않지만 오류가 발생했을 때 유효성을 검사하는 것이 좋습니다. InputVerifier을 사용해보세요. 그렇다면 그것이 유효한 상태인지 아닌지를 알 수 있습니다. 그 외에도 java7 이상을 사용하는 경우 유효 상태가 아닌 구성 요소를 장식하기 위해 JLayer을 살펴볼 수 있습니다. 더 많은 예제는 Decorate components with JLayer을 참조하십시오.