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
1157
·
8 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
·
8 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();