Phalcon - Trabalhando com Formulários

Formulários são usados ​​em todos os aplicativos da web para aceitar entradas do usuário como solicitação. Os dados são aceitos como entrada, então manipulados e salvos no banco de dados ou qualquer outra operação está sendo realizada.

Phalcon inclui um componente chamado Phalcon\Forms que auxilia na criação e manutenção de formulários.

Considere o exemplo do Blog-tutorial, que criamos nos capítulos anteriores. Inclui um formulário que é usado para criar uma nova categoria.

<?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 - Ele produzirá a seguinte saída.

Os campos de entrada do formulário são renderizados com a ajuda de Phalcon/tagcomponente. Cada elemento no formulário pode ser processado de acordo com a exigência do desenvolvedor.

A seguir está a sintaxe para renderizar o valor.

echo $form->render(element-name)

Validation -

Uma vez que os valores são renderizados no controlador, os valores serão inseridos no banco de dados com a ajuda de modelos. Os formulários Phalcon são integrados ao componente de validação para oferecer validação instantânea. Validadores integrados ou personalizados podem ser configurados para cada elemento.

<?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 - Ele produzirá a seguinte saída.