Учебники

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>

Вывод. Будет получен следующий вывод.

Создать Категории

Поля ввода формы отображаются с помощью компонента 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); 

Вывод. Будет получен следующий вывод.