Phalcon - Làm việc với các biểu mẫu

Biểu mẫu được sử dụng trong tất cả các ứng dụng web để chấp nhận đầu vào từ người dùng theo yêu cầu. Dữ liệu được chấp nhận làm đầu vào, sau đó được thao tác và lưu trong cơ sở dữ liệu hoặc bất kỳ thao tác nào khác đang được thực hiện.

Phalcon bao gồm một thành phần có tên Phalcon\Forms giúp tạo và duy trì biểu mẫu.

Hãy xem xét ví dụ về Blog-tutorial, mà chúng tôi đã tạo trong các chương trước. Nó bao gồm một biểu mẫu được sử dụng để tạo một danh mục mới.

<?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 - Nó sẽ tạo ra kết quả sau.

Các trường đầu vào của biểu mẫu được hiển thị với sự trợ giúp của Phalcon/tagthành phần. Mỗi phần tử trong biểu mẫu có thể được hiển thị theo yêu cầu của nhà phát triển.

Sau đây là cú pháp để hiển thị giá trị.

echo $form->render(element-name)

Validation -

Khi các giá trị được hiển thị trong bộ điều khiển, các giá trị sẽ được nhập vào cơ sở dữ liệu với sự trợ giúp của các mô hình. Biểu mẫu Phalcon được tích hợp với thành phần xác thực để cung cấp xác nhận ngay lập tức. Trình xác thực tích hợp hoặc tùy chỉnh có thể được đặt cho từng phần tử.

<?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 - Nó sẽ tạo ra kết quả sau.