Формы используются во всех веб-приложениях для приема входных данных от пользователя в качестве запроса. Данные принимаются в качестве входных данных, затем обрабатываются и сохраняются в базе данных или выполняется любая другая операция.
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);
Вывод. Будет получен следующий вывод.