Phalcon - Bekerja dengan Formulir

Formulir digunakan di semua aplikasi web untuk menerima masukan dari pengguna sebagai permintaan. Data diterima sebagai input, kemudian dimanipulasi dan disimpan dalam database atau operasi lain sedang dilakukan.

Phalcon menyertakan sebuah komponen bernama Phalcon\Forms yang membantu dalam pembuatan dan pemeliharaan formulir.

Perhatikan contoh Blog-tutorial yang telah kita buat di bab-bab sebelumnya. Ini mencakup formulir yang digunakan untuk membuat kategori baru.

<?php echo \Phalcon\Tag::form(array("categories/create", "autocomplete" => "off")) ?>  
   <table width = "100%"> 
      <tr> 
         <td align = "left">
            <?php echo \Phalcon\Tag::linkTo(array("categories", "Go Back", "class" => "btn")) ?>
         </td> 
         <td align = "right"><
            ?php echo \Phalcon\Tag::submitButton(array("Save", "class" => "btn")) ?>
         </td> 
      <tr> 
   </table>  
   
   <?php echo $this->getContent(); ?>  
   
   <div align = "center"> 
      <h1>Create categories</h1> 
   </div>  
   <table align = "center"> 
      <tr> 
         <td align = "right"> 
            <label for = "name">Name</label> 
         </td> 
         <td align = "left"> 
            <?php echo \Phalcon\Tag::textField(array("name", "size" => 30)) ?> 
         </td> 
      </tr> 
     
      <tr> 
         <td align = "right"> 
            <label for = "slug">Slug</label> 
         </td> 
         <td align = "left"> 
            <?php echo \Phalcon\Tag::textField(array("slug", "size" => 30)) ?> 
         </td> 
      </tr> 
   </table> 
</form>

Output - Ini akan menghasilkan keluaran sebagai berikut.

Bidang masukan formulir diberikan dengan bantuan Phalcon/tagkomponen. Setiap elemen dalam formulir dapat dirender sesuai kebutuhan pengembang.

Berikut ini adalah sintaks untuk merender nilai.

echo $form->render(element-name)

Validation -

Setelah nilai diberikan di pengontrol, nilai akan dimasukkan ke database dengan bantuan model. Formulir Phalcon terintegrasi dengan komponen validasi untuk menawarkan validasi instan. Validator bawaan atau kustom dapat disetel ke setiap elemen.

<?php  
use Phalcon\Forms\Element\Text; 
use Phalcon\Validation\Validator\PresenceOf; 
use Phalcon\Validation\Validator\StringLength;  

$name = new Text( 
   "Name" 
); 

$name->addValidator( 
   new PresenceOf([ "message" => "name is required", ]) 
); 

$form->add($name);

Output - Ini akan menghasilkan keluaran sebagai berikut.