Symfony Widget Form - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul Symfony Widget Form, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel symfony framework, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Symfony Widget Form
link : Symfony Widget Form

Baca juga


Symfony Widget Form

Pada Symfony Framework versi 1.4 untuk membuat form dengan memanfaat fasilitas validasinya, form tersebut dibungkus dalam bentuk widget.

Dengan menggunakan widget form. Form tersebut dapat di pakai berulang-ulang di banyak modul atau Widget Form tersebut dapat di panggil didalam Widget Form yang lain.

Dengan konsep Widget Form ini, form cukup dituliskan sekali kemudian dipakai berulang-ulang. Dibawah ini adalah gambar dari eksperimen form yang akan dibuat


Form sebelum di tekan tombol simpan

klik gambar untuk lebih jelas

Form setelah ditekan tombol simpan dan menampilkan pesan validasi form

klik gambar untuk lebih jelas


Secara ilustrasi mekanisme dari Widget Form seperti dibawah ini

imagee dari http://www.symfony-project.org/ - klik gambar untuk lebih jelas

Tahapan nya sebagai berikut

1. Buatlah sebuah file di folder lib/form dari projek symfony seperti gambar dibawah ini:


2. Beri nama file tersebut dengan format nama widget yang diakhirin Form.class.php sebagai contoh adalah ModulPertamaAddForm.class.php seperti gambar dibawah ini:


3. Buatlah sebuah class pada file ModulPertamaAddForm.class.php dengan nama sama dengan nama file, seperti contoh dibawah ini:
//membuat class bernama ModulPertamaAddForm
class ModulPertamaAddForm extends sfForm
{
//metod wajib dalam untuk membuat widget
public function configure()
{
//membuat elemen dengan text input yang bernama nama_lengkap
$this->setWidget('nama_lengkap', new sfWidgetFormInputText());

//membuat elemen text area yang bernama alamat
$this->setWidget('alamat', new sfWidgetFormTextArea());

//membuat varibel pengikat yang benernama modulPertamaAdd
$this->widgetSchema->setNameFormat('modulPertamaAdd[%s]');

//membuat validasi minimun inputan sebanyak tiga karakter dan wajib diisi untuk elemen yang bernama nama_lengkap
$this->setValidator('nama_lengkap', new sfValidatorString(array(
'min_length' => '3',
'required' => true,
'trim' => true
)));

//membuat validasi minimun inputan sebanyak lima karakter dan wajib diisi untuk elemen yang bernama alamat
$this->setValidator('alamat', new sfValidatorString(array(
'min_length' => '5',
'required' => true,
'trim' => true
)));
}
}

4. Panggilah widget tersebut pada modul yang membutuhkannya, sebagai contoh widget akan di panggil pada modul yang bernama modulPertama

Kemudian pada file action modulPertama yaitu actions.class.php panggil widget ModulPertamaAddForm seperti contoh dibawah ini:
//membuat action dengan nama Add
public function executeAdd(sfWebRequest $request)
{
//memanggil widget ModulPertamaAddForm
$this->form = new ModulPertamaAddForm();

//jika dideteksi ada pengiriman dari form
if ($request->isMethod('post'))
{

//ambil variabel pengikat yang telah didefiniskan di widget ModulPertamaAddForm
$this->form->bind($request->getParameter('modulPertamaAdd'));

//jika semua input valid/benar
if($this->form->isValid())
{
//untuk meletakan kode eksekusi
}
}
}


5. pada template dari modul yang memanggil yaitu modulPertama dengan nama template AddSuccess.php seperti gambar dibawah ini


Tambahkan kode untuk menampilkan form seperti dibawah ini:
<?php //membuat form dengan modul yang dituju adalah modulPertama dengan action yang dituju bernama add ?>
<?php echo form_tag('modulPertama/add',array( "method"=>"POST", "enctype"=>"multipart/form-data")) ?>

<?php //menampilkan elemen nama_lengkap dari widget ModulPertamaAddForm ?>
<?php echo $form['nama_lengkap']->render(array('style'=>'background-color:#ADD8E6; height:25px')) ?>

<?php //menampilkan pesan error elemen nama_lengkap dari hasil validasi widget ModulPertamaAddForm ?>
<?php echo $form['nama_lengkap']->renderError() ?>

<?php //menampilkan elemen alamat dari widget ModulPertamaAddForm ?>
<?php echo $form['alamat']->render(array('style'=>'background-color:#ADD8E6; height:100px')) ?>

<?php //menampilkan pesan error elemen nama_lengkap dari hasil validasi widget ModulPertamaAddForm ?>
<?php echo $form['alamat']->renderError() ?>


<input type="submit" value="Simpan" /> <?php echo button_to('Batal','modulPertama/index') ?>

<?php //untuk mencegah serangan csrf ?>
<?php echo $form['_csrf_token']->render() ?>

</form>




Referensi :
List Class Validasi - klik link
List Widget - klik link
Cara Membuat Form 1 - klik link
Cara Membuat Form 2 - klik link
Cara Membuat Form 3 - klik link
Cara Membuat Form 4 - klik link


Demikianlah Artikel Symfony Widget Form

Sekianlah artikel Symfony Widget Form kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Symfony Widget Form dengan alamat link https://dev-create.blogspot.com/2010/01/symfony-widget-form.html