Lompat ke konten
A alfach.com

Convalida : Library Android Untuk Validasi Field

A alfach.com
2 menit baca
Convalida : Library Android Untuk Validasi Field

Memberi validasi pada suatu field terkadang menjadi hal yang "malas", bukan karena tidak mudah tapi butuh ekstra coding tambahan jadi sifatnya easy but takes time hehe. Apalagi di android, setiap field di inisiasi, varibel lalu dicek. Convalida merupakan salah satu library yang memudahkan kita memasang validasi field. Convalida is a simple, lightweight and powerful field validation library for Android.

Beberapa kelebihan convalida :

Instalasi

Tambahkan jitpack di root build.gradle :

Kode
allprojects {
  repositories {
    maven { url 'https://jitpack.io' }
  }
}

tambahkan juga pada dependencies :

Kode
dependencies {
  implementation 'com.github.WellingtonCosta.convalida:convalida:2.0.1'
  annotationProcessor 'com.github.WellingtonCosta.convalida:convalida-compiler:2.0.1'
}

Berikut validasi yang bisa dilakukan convalida :

  • Required Fields
  • E-mail Fields
  • Confirm E-mail Fields
  • Min/Max Fields
  • Only Number Fields
  • Regex Fields
  • Password Fields
  • Confirm Password Fields

Validasi pada convalida bisa menggunakan anotasi dan data-binding. Berikut implementasinya.

Validasi menggunakan anotasi

Kode
@RequiredValidation(errorMessage = R.string.field_required)
EditText nameField;

@LengthValidation(errorMessage = R.string.min_3_characters, min = 3)
EditText nickNameField;

@OnlyNumberValidation(errorMessage = R.string.only_numbers)
EditText ageField;

@EmailValidation(errorMessage = R.string.invalid_email)
EditText emailField;

@ConfirmEmailValidation(errorMessage = R.string.emails_not_match)
EditText confirmEmailField;

@PatternValidation(errorMessage = R.string.invalid_phone, pattern = PHONE_PATTERN)
EditText phoneField;

@PasswordValidation(min = 3, errorMessage = R.string.invalid_password)
EditText passwordField;

@ConfirmPasswordValidation(errorMessage = R.string.passwords_not_match)
EditText confirmPasswordField;

Lalu tambahkan juga anotasi pada button yang digunakan

Kode
@ValidateOnClick
Button validateButton;

Tambahkan juga fungsi yang meng-handle hasil dari validasi

Java
@OnValidationSuccess
public void onValidationSuccess() {
    Toast.makeText("Yay!", Toast.LENGTH_LONG).show();
}

@OnValidationError
public void onValidationError() {
    Toast.makeText("Something is wrong :(", Toast.LENGTH_LONG).show();
}

Lalu inisialiasi class yang digunakan

Java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sample);
    ActivityFieldsValidation.init(this);
}

Menggunakan Data Binding

Untuk menggunakan validasi data binding, kita perlu menambahkan pada project gradle

Kode
dataBinding {
  enabled true
}

Lalu di xml yang digunakan ditambahkan validasi dan string berupa data binding :

HTML / XML
 

 

 

 

 

 

Lalu di xml button juga perlu ditambahkan validation action

HTML / XML
<button></button>

<button>

sisanya sama seperti pada bagian anotasi, yaitu handle result dari validasi dan inisialisasi class yang digunakan.

Kalau dilihat caranya lebih sederhana dan lebih rapih dibandingkan jika melakukan validasi secara manual. Untuk lebih jelas bisa ke https://github.com/WellingtonCosta/convalida/

Bacaan terkait

Development

Install Golang di Mac

Berikut adalah panduan untuk menginstal Go (Golang) di macOS: 1. Mengunduh dan Menginstal Go Anda dapat menginstal Go menggunakan beberapa metode, termasuk Homebrew...

2 menit

Komentar (0)

Belum ada komentar. Jadilah yang pertama.

Tulis komentar

Komentar akan dimoderasi sebelum tampil.

Tidak akan dipublikasikan.