soliantconsulting / formidable-bootstrap
Formidable 的 Twitter Bootstrap 3 集成
Requires
- container-interop/container-interop: ^1.1
- dasprid/formidable: ^0.3.1
- league/plates: ^3.1
This package is auto-updated.
Last update: 2024-09-16 06:59:23 UTC
README
此软件包提供了一些视图辅助工具,用于简化使用 Formidable 和 Twitter Bootstrap 3 渲染表单。默认情况下,它包含一个工厂来使用这些辅助工具在 Plates 中,但视图辅助工具也可以用于支持可调用的其他模板引擎。
提供的视图辅助工具具有非常主观的 HTML 输出。如果您需要不同类型的输出,则此库不适合您,您应该编写自己的辅助工具。
安装
通过 composer 安装
$ composer require soliantconsulting/formidable-bootstrap
用法
以下是在模板中使用不同视图辅助工具的简单示例
<form method="POST"> <?php echo $this->formErrors($form->getGlobalErrors()); ?> <?php echo $this->inputText('Name', $form->getField('name')); ?> <?php echo $this->inputText('Color', $form->getField('color'), 'color'); ?> <?php echo $this->inputPassword('Password', $form->getField('password')); ?> <?php echo $this->textarea('Notes', $form->getField('notes')); ?> <?php echo $this->select('Role', $form->getField('role'), ['user' => 'User', 'admin' => 'Admin']); ?> <?php echo $this->select('Groups', $form->getField('role'), ['alpha' => 'Alpha', 'beta' => 'Beta'], true); ?> <?php echo $this->select('Country', $form->getField('country'), [ 'Europe' => [ 'de' => 'Germany', 'fr' => 'France', ], 'America' => [ 'ca' => 'Canada', 'us' => 'United States', ], ]); ?> <?php echo $this->checkbox('Active', $form->getField('active')); ?> </form>
如你所见,一些视图辅助工具接受额外的可选参数。`inputText()` 辅助工具接受一个类型作为第三个参数,默认情况下,它将渲染一个通用的 `text` 输入,但您可以将其更改为任何其他输入类型。
`select()` 视图辅助工具接受一个布尔值作为最后一个参数,表示是否应该为 `multiple
`。必需的 `options
` 数组可以是简单的字符串到字符串映射,也可以包含嵌套数组,如国家示例中所示,以生成选项组,这些选项组可以无限嵌套。
如果您需要将表单分成字段集,您可以手动进行。那里不需要任何额外的辅助工具。当您的表单中有一个子对象可以分配错误,以便它们不与特定字段相关联时,您可以从伪字段中提取错误并将它们传递给 `formErrors()` 视图辅助工具。
<fieldset> <legend>Address</legend> <?php echo $this->formErrors($form->getField('address')->getErrors()); ?> <?php echo $this->inputText('Street', $form->getField('address.street')); ?> <?php echo $this->inputText('City', $form->getField('address.city')); ?> <?php echo $this->inputText('Zipcode', $form->getField('address.zipcode')); ?> </fieldset>
自定义错误消息
默认情况下,视图辅助工具使用 Formidable 本身提供的错误消息。如果您想使用不同的消息或使用自定义约束和自定义错误消息,您可以通过配置添加额外的消息。
return [ soliant_formidable_bootstrap => [ 'messages' => [ 'error.custom' => 'Some custom error', ], ], ];
消息遵循 Formidable 的 ErrorFormatter
中使用的相同模式。