Phalcon - การทำงานกับแบบฟอร์ม

แบบฟอร์มถูกใช้ในเว็บแอปพลิเคชันทั้งหมดเพื่อยอมรับอินพุตจากผู้ใช้ตามคำขอ ข้อมูลได้รับการยอมรับว่าเป็นอินพุตจากนั้นจัดการและบันทึกในฐานข้อมูลหรือดำเนินการอื่นใด

Phalcon มีส่วนประกอบที่ชื่อ Phalcon\Forms ซึ่งช่วยในการสร้างและบำรุงรักษาแบบฟอร์ม

ลองพิจารณาตัวอย่างของ Blog-tutorial ซึ่งเราสร้างไว้ในบทก่อนหน้านี้ ประกอบด้วยแบบฟอร์มที่ใช้สร้างหมวดหมู่ใหม่

<?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 - จะให้ผลลัพธ์ดังต่อไปนี้

ช่องป้อนข้อมูลของแบบฟอร์มจะแสดงผลด้วยความช่วยเหลือของ Phalcon/tagส่วนประกอบ. แต่ละองค์ประกอบในแบบฟอร์มสามารถแสดงผลได้ตามความต้องการของผู้พัฒนา

ต่อไปนี้เป็นไวยากรณ์สำหรับการแสดงผลค่า

echo $form->render(element-name)

Validation -

เมื่อแสดงค่าในคอนโทรลเลอร์แล้วค่าจะถูกป้อนลงในฐานข้อมูลด้วยความช่วยเหลือของโมเดล แบบฟอร์ม Phalcon ถูกรวมเข้ากับองค์ประกอบการตรวจสอบเพื่อเสนอการตรวจสอบทันที ตัวตรวจสอบความถูกต้องในตัวหรือแบบกำหนดเองสามารถตั้งค่าให้กับแต่ละองค์ประกอบได้

<?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 - จะให้ผลลัพธ์ดังต่อไปนี้