Form biasanya dibuat dengan menggunakan HTML, berbeda dengan zend framework yang dimana telah mempunyai segalanya pada Zend/Form. Hanya cukup dipanggil saja element yang nantinya ingin dipakai pada halaman formulir yang ingin anda buat.
Untuk membuat form pada zend dapat dilakukan dengan cara berikut ini :
- Buatlah folder form terlebih dahulu di src/Users/
- Jika telah selesai membuat folder form, anda buat file RegistrationForm.php dan masukan source code berikut ini :
<?php
//filename : module/Users/src/Users/Form/RegisterForm.php
namespace Users\Form;
use Zend\Form\Form;
class RegisterForm extends Form
{
public function __construct($name = null)
{
parent::__construct('Register');
$this->setAttribute('method','post');
$this->setAttribute('enctype','multipart/form-data');
$this->add(array(
'name'=>'name',
'atributes'=>array(
'type'=>'text',
),
'options'=>array(
'label'=>'Full Name',
),
));
$this->add(array(
'name'=>'email',
'attributes'=>array(
'type'=>'email',
),
'options'=>array(
'label'=>'Email',
),
'atributes'=>array(
'required'=>'required',
),
'filters'=>array(
array('name'=>'StringTrim'),
),
'validators'=>array(
array(
'name'=>'EmailAddress',
'options'=>array(
'messages'=>array(
\Zend\Validator\EmailAddress::INVALID_FORMAT=>'Email address format is invalid'
)
)
)
)
));
$this->add(array(
'name'=>'password',
'attributes'=>array(
'type'=>'password',
),
'options'=>array(
'label'=>'Password'
),
));
$this->add(array(
'name'=>'confirm_password',
'attributes'=>array(
'type'=>'password',
),
'options'=>array(
'label'=>'Confirm Password'
),
));
$this->add(array(
'name'=>'submit',
'attributes'=>array(
'type'=>'submit',
'value'=>'Register',
'id'=>'submitbutton',
),
));
}
} - Bukalah folder view dan buat sebuah folder dan beri nama folder tersebut users
- Buka folder users yang baru anda buat dan buat kembali sebuah folder didalam folder users dan beri nama folder tersebut register
- Buka folder register yang baru dibuat dan buat sebuah file beri nama index.phtml
- Masukan source code berikut pada index.phtml
<section class="register">
<h2>Register</h2>
<?php if ($this->error): ?>
<p class="error">
There were one or more issues with your submission.
Please correct the as indicated bellow.
</p>
<?php endif ?>
<?php
$form = $this->form;
$form->prepare();
$form->setAttribute('action',$this->url(NULL,
array('controller'=>'register','action'=>'process')));
$form->setAttribute('method','post');
echo $this->form()->openTag($form);
?>
<dl class="zend_form">
<dt><?php echo $this->formLabel($form->get('name')); ?></dt>
<dd><?php
echo $this->formElement($form->get('name'));
echo $this->formElementErrors($form->get('name'));
?></dd>
<dt><?php echo $this->formLabel($form->get('email')); ?></
dt>
<dd><?php
echo $this->formElement($form->get('email'));
echo $this->formElementErrors($form->get('email'));
?></dd>
<dt><?php echo $this->formLabel($form->get('password'));
?></dt>
<dd><?php
echo $this->formElement($form->get('password'));
echo $this->formElementErrors($form->get('password'));
?></dd>
<dt><?php echo $this->formLabel($form->get('confirm_password')); ?></dt>
<dd><?php
echo $this->formElement($form->get('confirm_password'));
echo $this->formElementErrors($form->get('confirm_password'));
?></dd>
<br>
<dd><?php
echo $this->formElement($form->get('submit'));
echo $this->formElementErrors($form->get('submit'));
?></dd>
</dl>
<?php echo $this->form()->closeTag()?>
</section> - Buatlah konfirmasi halamananya. Buat file confirm.phtml pada folder view/users/register/ dan masukan source berikut ini :
<section class="register-confirm">
<h2>Register Sucessfull</h2>
<p> Thank you for your registration. </p>
</section> - Sekarang buatlah folder Users pada controller
- Setelah folder Users dibuat maka buat sebuah file beri nama RegisterController.php
- Buka file RegisterController.php dan masukan source berikut ini :
<?php
namespace Users\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Users\Form\RegisterForm;
class RegisterController extends AbstractActionController
{
public function indexAction()
{
$form = new RegisterForm();
$viewModel = new ViewModel(array('form' =>
$form));
return $viewModel;
}
public function confirmAction()
{
$viewModel = new ViewModel();
return $viewModel;
}
} - Buka folder config/module.config.php cari yang bernama invokable dan cocokan sourcenya seperti dibawah ini :
'controllers' => array(
'invokables' => array(
'Users\Controller\Index' =>
'Users\Controller\IndexController',
'Users\Controller\Register' =>
'Users\Controller\RegisterController',
), - Buka browser anda dan ketikan alamat url localhost/ZendSkeletonapplication/public/users/register maka akan tampil seperti berikut ini :
Tidak ada komentar:
Posting Komentar