Phalcon - Trabajar con formularios

Los formularios se utilizan en todas las aplicaciones web para aceptar entradas del usuario como solicitud. Los datos se aceptan como entrada, luego se manipulan y guardan en la base de datos o se realiza cualquier otra operación.

Phalcon incluye un componente llamado Phalcon\Forms que ayuda en la creación y mantenimiento de formas.

Considere el ejemplo de Blog-tutorial, que creamos en los capítulos anteriores. Incluye un formulario que se utiliza para crear una nueva categoría.

<?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 - Producirá la siguiente salida.

Los campos de entrada del formulario se representan con la ayuda de Phalcon/tagcomponente. Cada elemento del formulario se puede representar según los requisitos del desarrollador.

A continuación se muestra la sintaxis para representar el valor.

echo $form->render(element-name)

Validation -

Una vez que los valores se representan en el controlador, los valores se ingresarán en la base de datos con la ayuda de modelos. Los formularios de Phalcon están integrados con el componente de validación para ofrecer una validación instantánea. Se pueden configurar validadores integrados o personalizados 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 - Producirá la siguiente salida.