땀이 삐질삐질 나는 개발 일기

여러개의 EditText의 String 값을 깔끔하게 Null & Empty 검사하는 방법 본문

개발 Tip

여러개의 EditText의 String 값을 깔끔하게 Null & Empty 검사하는 방법

삐질 2019. 5. 16. 20:50

안녕하세요.

개발을 하다 보면 , 화면의 입력 필드들이 여러 개가 존재하는 경우가 생깁니다.

예를 들면

  • 이름

  • 성별

  • 나이

  • 취미

  • 지역 등..

이때 우리는 검사해야 할 것들이 있습니다.

  1. 입력 필드에 입력된 값들 중 Null인 값이 있는가?

  2. 입력필드에 입력된 값들 중 "" 즉 빈 값이 있는가?

  3. 입력 필드의 InputType을 지켰는가 이것은.. 선택의 여지가 있으므로, 일단은 제외토록 하겠습니다.

이 입력필드 들의 값의 유효성을 검사하기 위해 보편적으로 생각할 수 있는 방법은 아래와 같겠죠?

public boolean testMethod() {

    String name, age, gender, hobby, region;

    if (name != null) {

        if (name != "") // 또는if (!name.isEmpty())

    }

}

나쁘지 않습니다.

어쨌든 검사하면 되죠.

그렇지만 위 선언된 변수들의 모든 값을 검사하려면 대체 if문을 몇 번을 타고 들어가야 하며,

또 중간에 아휴.. 이프 이프 이프 이프 이프 하다가 헷갈린단 말이죠..

이를 위해 우리는 Util의 성격을 가진 메서드를 공통으로 만들 수 있습니다.

이때 필요한 키워드는 Static과 variable argument(variable argument는 가변 인자입니다.)

Static은.. 여러 가지 쓰임새가 있지만, 이때 쓰기 위함은 객체의 선언 없이, 접근하기 위한 용도로 쓰이고

가변 인자는 한 번에 여러 가지 변수들은 전달하기 위해 쓰입니다. Asynctask를 써보신 분이라면 많이들 보셨을 거예요. params....그 문법

자~ 이제 잔소리를 걷어내고 코드로 살펴봅시다.

먼저 단일한 변수를 , 유효한지 유효하지 않은지 검사하기 위한 코드는 아래와 같습니다.

if(name!=null && !name.isEmpty()){return true;} else{return false;}

이후 가변 파라미터를 더하면 아래와 같이 변하게 됩니다.

  public boolean testVariableParam(String... params) {

        for (String param : params) {

            if (param == null || param.isEmpty()) {

                return false;

            }

        }       

        return true;

    }

어떤가요, 기존의 if를 여러 번 타고 들어가는 것보다 훨씬 깔끔해 보이나요?

자 호출하는 부분과 함께 살펴봅시다.

   public boolean testMethod() {

        String name = null, age =null , region =null, hobby =null ;

        testVariableParam(name,age,region,hobby);

    }

    public boolean testVariableParam(String... params) {

        for (String param : params) {

            if (param == null || param.isEmpty()) {

                return false;

            }

        }

        return true;

    }

이렇게 유용하게 사용할 수 있습니다.

안드로이드 초보 개발자를 위해 아래와 같은 카카오 오픈톡을 운영 중입니다.

https://open.kakao.com/o/gn4xqQ6

Comments