Method isValid ato validasi dibuat untuk cek apakah isian dari property sudah ada. Contohnya :
Class Orang{
Public nama;
Public alamat;
Public tanggallahir;
Public function __construct($nama,$alamat,$tgllahir){
$this->nama=$nama;
$this->alamat=$alamat;
$this->tgllahir=$tgllahir;
}
public function validasi(){
?cek nama apa ada isi nya?
?cek tgllahir apa sdh benar formatnya
}
}
1 jempol
bramanto
300
1167
·
9 tahun, 1 bulan yang lalu
·
1 jempol
Hai coder @Irawan_bs. Coder bisa mencoba sintaks sederhana berikut :
<?php
Class Orang{
public $nama;
public $alamat;
public $tgllahir;
public function __construct($nama,$alamat,$tgllahir){
$this->nama = $nama;
$this->alamat = $alamat;
$this->tgllahir = $tgllahir;
}
public function validasi(){ # Method untuk validasi..
$error = '<hr><p style="color:#FF0000;">';
if($this->nama == ''){ # Cek apakah nama kosong ?
$error .= 'Nama Wajib Diisi <br>';
}
if($this->alamat == ''){ # Cek apakah alamat kosong ?
$error .= 'Alamat Wajib Diisi <br>';
}
$exp = explode('-', $this->tgllahir); # Pecah pemisah - jadi array
if(count($exp) == 3){ # Jika jumlah array 3.
if(!checkdate($exp[1], $exp[0], $exp[2])){ # Untuk validasi tanggal..
$error .= 'Format Tanggal Tidak Sesuai <br>';
}
} else {
$error .= 'Format Tanggal Tidak Sesuai <br>';
}
$error .='</p>';
return $error;
}
public function hasil(){ # Method untuk hasil
$text = '<pre>';
$text .= '<hr>Nama : ' . $this->nama;
$text .= '<br>Alamat : ' . $this->alamat;
$text .= '<br>Tanggal Lahir : ' . $this->tgllahir;
$text .= '</pre>';
return $text;
}
}
# Buat Form HTML
$html = '';
$html .= '<form method="POST" action="#">';
$html .= 'Nama<br><input type="text" name="nama" placeholder="Masukkan Nama"><br>';
$html .= 'Alamat<br><textarea name="alamat" placeholder="Masukkan Alamat" rows="3"></textarea><br>';
$html .= 'Tanggal Lahir<br><input type="text" name="tgllahir" placeholder="Masukkan Tanggal Lahir">';
$html .= '<small> Format Tanggal : dd/mm/YYYY</small><br><br>';
$html .= '<input type="submit" name="submit" value="Submit"><br>';
$html .= '</form>';
if(isset($_POST['submit'])){ # Jika ditekan tombol submit
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$tgllahir = $_POST['tgllahir'];
$orang = new Orang($nama, $alamat, $tgllahir); # Ciptakan objek Orang
$validasi = $orang->validasi();
$hasil = $orang->hasil();
if($validasi == ''){ # Jika data sesuai validasi, tampilkan hasil.
$html .= $hasil;
} else { # Jika tidak sesuai validasi, maka cetak error.
$html .= $validasi;
}
}
echo $html;
?>
Mungkin teman² coder yang lain ada yang lebih sederhana lagi dalam membuat validasi ini.
Irawan_bs
300
8
penanya
·
9 tahun yang lalu
·
0 jempol
Terima Kasih Coder @Bramanto.
Metode Validasi nya...
Ada request yang lain bagaimana klo konstruktor ato inisialisasi nya tanpa parameter?
Ini mungkin juga metode validasi juga dan untuk cek tanggal nya menggunakan fungsi date_parse?
<?php
class Orang{
public $nama;
public $alamat;
public $tempat_lahir;
public $tanggal_lahir;
public $no_telp_hp;
public function __construct(){
}
public function isValid(){
if (!isset($this->nama) || trim($this->nama) == ""){
return "Nama harus diisi";
} else if (isset($this->tanggal_lahir) && count(date_parse($this->tanggal_lahir)["errors"]) > 0){
return "Format tanggal lahir salah";
}
else
return true;
}
}
// Kita coba dulu dengan inisialisasi class, tapi tidak inisialisasi propertinya, apa yang akan terjadi?
// Seharusnya outputnya menampilkan pesan salah, sebab nama harus diisi
$orang1 = new Orang();
var_dump($orang1);
echo "<BR>";
echo "output: " . $orang1->isValid();
echo "<BR>";
echo "<BR>";
// Kita coba inisialisasi class dan properti nama, apa yang akan terjadi?
// Seharusnya outputnya 1 alias true,
// Sebab nama sudah diisi, tanggal tidak diisi
$orang2 = new Orang();
$orang2->nama = "Irawan";
var_dump($orang2);
echo "<BR>";
echo "output: " . $orang2->isValid();
echo "<BR>";
echo "<BR>";
// Kita coba inisialisasi class dan properti nama, apa yang akan terjadi?
// Seharusnya outputnya 1 alias true,
// Sebab nama sudah diisi, tanggal diisi tapi nilainya salah
$orang3 = new Orang();
$orang3->nama = "Irawan";
$orang3->tanggal_lahir = "2016-09-32";
var_dump($orang3);
echo "<BR>";
echo "output: " . $orang3->isValid();
echo "<BR>";
echo "<BR>";
// Kita coba inisialisasi class dan properti nama, apa yang akan terjadi?
// Seharusnya outputnya 1 alias true,
// Sebab nama sudah diisi, tanggal diisi tapi nilainya salah
$orang4 = new Orang();
$orang4->nama = "Irawan";
$orang4->tanggal_lahir = "2016-09-28";
var_dump($orang4);
echo "<BR>";
echo "output: " . $orang4->isValid();