[ Developer ]/Android
[Android] 안드로이드 입력 체크 유효성 검사 Validation Check
김현섭.
2016. 7. 12. 15:10
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 |