Kamis, 10 November 2011

Java Validator

Data merupakan komponen yang sangat penting dalam sebuah sistem informasi, untuk itu dalam aplikasinya dibutuhkan adanya sebuah validasi untuk menangani data-data yang akan masuk ke dalam database. Validator merupakan utilitas yang memvalidasi inputan agar data yang akan masuk ke dalam database sesuai dengan kriteria yang diharapkan. Disini penulis akan mengulas tentang pembuatan Validator di API Java. 

Siswa.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package man.application.entity;
import java.util.Date;
/**
*
* @author Mancute
*/
public class Siswa {
int nis;
String nama;
String alamat;
Date tgl_lahir;
public Siswa() {
}
public Siswa(int nis, String nama, String alamat, Date tgl_lahir) {
this.nis = nis;
this.nama = nama;
this.alamat = alamat;
this.tgl_lahir = tgl_lahir;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getNis() {
return nis;
}
public void setNis(int nis) {
this.nis = nis;
}
public Date getTgl_lahir() {
return tgl_lahir;
}
public void setTgl_lahir(Date tgl_lahir) {
this.tgl_lahir = tgl_lahir;
}
}
view raw Siswa.java hosted with ❤ by GitHub

ServiceValidator.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package man.application.service;
import java.util.Date;
/**
*
* @author Mancute
*/
public interface ServiceValidator {
public void CheckString(String value, String message);
public void CheckDate(Date value, String message);
public void CheckObject(Object value, String message);
public Integer Convert(String parse);
public boolean isError();
public void setError(boolean error);
public Object getMessage();
public void Clear();
}

Validator.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package man.application.impl;
import java.util.ArrayList;
import java.util.Date;
import man.application.service.ServiceValidator;
/**
*
* @author Mancute
*/
public class Validator implements ServiceValidator{
private ArrayList<String> arr = new ArrayList<String>();
private boolean Error=false;
private String title;
public Validator() {
}
public Validator(String title) {
this.title = title;
}
@Override
public void CheckString(String value, String message) {
if(value.trim().isEmpty() || value.equals("0")){
arr.add(message);
Error = true;
}
}
@Override
public void CheckDate(Date value, String message) {
if(value==null){
arr.add(message);
Error= true;
}
}
@Override
public void CheckObject(Object value, String message) {
if(value==null||value==""){
arr.add(message);
Error= true;
}
}
@Override
public boolean isError() {
return Error;
}
@Override
public Object getMessage() {
String message = title+"\n";
for(int i=0; i<arr.size(); i++){
message +=arr.get(i)+"\n";
}
return message;
}
@Override
public void Clear() {
arr.clear();
}
@Override
public Integer Convert(String parse) {
if(parse.trim().length()==0 || parse.trim().isEmpty())
return null;
else
return Integer.parseInt(parse);
}
@Override
public void setError(boolean error) {
this.Error=error;
}
}
view raw Validator.java hosted with ❤ by GitHub

Form.java


Buatlah Form yang memiliki komponen nis, nama, alamat, dan tanggal lahir seperti pada gambar dibawah ini

lalu sisipkan kode dibawah ini kedalam Form yang udah dibuat tadi

private String title = "Silahkan isi data-data berikut :";
private ServiceValidator validator = new Validator(title);
private Siswa getSiswa(){
Siswa siswa = new Siswa();
siswa.setNis(validator.Convert(nis.getText()));
siswa.setNama(nama.getText());
siswa.setAlamat(alamat.getText());
Date tanggal = (Date) date.getModel().getValue();
siswa.setTgl_lahir(tanggal);
return siswa;
}
private void CheckingData(){
validator.CheckObject(validator.Convert(nis.getText()), "Nis");
validator.CheckString(nama.getText(), "Nama Siswa");
validator.CheckString(alamat.getText(), "Alamat");
Date tanggal = (Date) date.getModel().getValue();
validator.CheckDate(tanggal, "Tanggal Lahir");
if(validator.isError()){
JOptionPane.showMessageDialog(null, validator.getMessage());
}else {
JOptionPane.showMessageDialog(null, "Success !!! \n "+MessageSuccess()+" \n Data telah terisi dengan lengkap");
}
validator.setError(false);
validator.Clear();
}
private String MessageSuccess(){
String message;
Siswa siswa = getSiswa();
message = siswa.getNis()+"\n"+siswa.getNama()+"\n"+siswa.getAlamat()+"\n"+siswa.getTgl_lahir();
return message;
}
view raw Form.java hosted with ❤ by GitHub

Jika program dijalankan maka ketika Inputan masih belum terisi akan mengeluarkan pesan peringatan seperti dibawah ini

Ketika data telah diisi semua maka akan mengeluarkan pesan success seperti dibawah ini


Semoga Bermanfaat