Phalcon - 使用表单


所有 Web 应用程序都使用表单来接受用户的请求输入。数据被接受为输入,然后被操纵并保存在数据库中或正在执行的任何其他操作。

Phalcon 包含一个名为Phalcon\Forms 的组件,它有助于创建和维护表单。

考虑我们在前面的章节中创建的博客教程的示例。它包括一个用于创建新类别的表单。

<?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>

输出- 它将产生以下输出。

创建类别

表单的输入字段是在Phalcon/tag组件的帮助下呈现的。表单中的每个元素都可以根据开发人员的要求进行呈现。

以下是呈现值的语法。

echo $form->render(element-name)

验证-

一旦这些值在控制器中呈现,这些值将在模型的帮助下输入到数据库中。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); 

输出- 它将产生以下输出。

跟随输出