안드로이드 입력 폼을 개발할때 유효성 체크는 항상 귀찮은 일입니다.
이것을 쉽게 도와주는 라이브러리 saripaar 에 대해서 알아보겠습니다.
실습용 소스코드(source code) https://github.com/youngsu1/Saripaar-tutorial
Saripaar 깃허브 주소 https://github.com/ragunathjawahar/android-saripaar
어노테이션 기반입니다.
선언한 입력뷰 변수 위에 제약사항을 선언해 주세요
@NotEmpty : 필수 입력
@Email : 이메일 입력
@Password : 패스워드 입력
@ConfirmPassword : 패스워드 확인
@Length : 입력 길이
리스너를 implements 해주고 Validator 객체를 생성하고 리스너를 달아주세요
public class MainActivity extends AppCompatActivity implements Validator.ValidationListener{ |
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
validator = new Validator(this);
validator.setValidationListener(this)
}
}
콜백함수에서 유효성체크를 통과하고 성공했을때와 실패했을때를 구현해주세요
public class MainActivity extends Activity implements ValidationListener { @Override public void onValidationSucceeded() { Toast.makeText(this, "감사합니다. 회원가입에 성공하셨습니다.", Toast.LENGTH_SHORT).show(); } @Override public void onValidationFailed(List<ValidationError> errors) { for (ValidationError error : errors) { View view = error.getView(); String message = error.getCollatedErrorMessage(this); // Display error messages ;) if (view instanceof EditText) { ((EditText) view).setError(message); } else { Toast.makeText(this, message, Toast.LENGTH_LONG).show(); } } }
}
전체 코드
'DEV > ANDROID' 카테고리의 다른 글
Glide 이미지가 placeholder 이미지로만보이고 url 이미지가 안보이는 문제 해결 (0) | 2016.09.01 |
---|---|
USB선 없이 와이파이로 안드로이드 개발하기 (Android wifi ADB) (0) | 2016.08.31 |
액티비티 시작할때 EDIT TEXT 자동 포커싱 되는 문제 (activity startup auto focused edittext) (0) | 2016.08.13 |
안드로이드 6.0이상에서 갤러리에서 사진 불러오기가 안되는 문제(Android 6.0 can't get image from gallery) (0) | 2016.08.12 |
EditText hint에 이미지(image) 넣기 (0) | 2016.08.09 |