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