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.
Buatlah Form yang memiliki komponen nis, nama, alamat, dan tanggal lahir seperti pada gambar dibawah ini
Semoga Bermanfaat
Siswa.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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; | |
} | |
} |
ServiceValidator.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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; | |
} | |
} |
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} |
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