본문 바로가기
[ Developer ]/Android

[Android] 안드로이드 입력 체크 유효성 검사 Validation Check

by 김현섭. 2016. 7. 12.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Android Validation Check
@ Email 필수 입력 주기
추가적으로 이메일을 필수로 입력 값으로 주고 싶다면 RegistActivity에서 걸러줘야 한다


완료 버튼 눌렀을 시 이벤트를 잡아서 처리한다
입력창의 길이를 비교하여 0일 때 Toast를 띄우고 Focus를 맞춘 후 return 시키면 된다
위의 로직을 이용해서 Password도 적용이 가능하다


또한 비밀번호와 비밀번호 확인의 값이 같은지도 비교가 가능하다
결과를 보면 다음과 같다





*Source - Validation Check
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
                if ( etEmail.getText().toString().length() == 0 ) {
                    Toast.makeText(RegistActivity.this"Email 입력하세요", Toast.LENGTH_SHORT).show();
                    etEmail.requestFocus();
                    return;
                }
 
                if ( etPassword.getText().toString().length() == 0 ) {
                    Toast.makeText(RegistActivity.this"Password 입력하세요", Toast.LENGTH_SHORT).show();
                    etPassword.requestFocus();
                    return;
                }
                if ( etPasswordConfirm.getText().toString().length() == 0 ) {
                    Toast.makeText(RegistActivity.this"Password Confirm 입력하세요", Toast.LENGTH_SHORT).show();
                    etPasswordConfirm.requestFocus();
                    return;
                }
 
                if ( !etPassword.getText().toString().equals(etPasswordConfirm.getText().toString()) ) {
                    Toast.makeText(RegistActivity.this"비밀번호가 일치하지 않습니다", Toast.LENGTH_SHORT).show();
                    etPassword.setText("");
                    etPasswordConfirm.setText("");
                    etPassword.requestFocus();
                    return;
                }
cs


@ Password와 Password Confirm이 같은 경우 배경색 주기

PasswordConfirm을 글자가 추가될 때마다 이벤트를 줄 수 있는데
onTextChaged에서 로직을 작성해주면 된다


결과는 다음과 같다




*Source - 입력한 값 같으면 배경색 바꾸기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        etPasswordConfirm.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String password = etPassword.getText().toString();
                String confirm = etPasswordConfirm.getText().toString();
 
                if ( password.equals(confirm) ) {
                    etPassword.setBackgroundColor(Color.GREEN);
                    etPasswordConfirm.setBackgroundColor(Color.GREEN);
                }
                else {
                    etPassword.setBackgroundColor(Color.RED);
                    etPasswordConfirm.setBackgroundColor(Color.RED);
                }
            }
            @Override
            public void afterTextChanged(Editable s) {
            }
        });
cs