表单在所有Web应用程序中用于接受来自用户的输入作为请求.数据被接受为输入,然后被操纵并保存在数据库中或正在执行任何其他操作.
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);
输出 : 它将产生以下输出.