npmweb/laravel-forms

此包已被废弃,不再维护。没有建议的替代包。

扩展 Laravel 的 FormBuilder,用于布局 Bootstrap 或 Foundation 的表单元素

2.0.1 2015-05-27 16:45 UTC

This package is not auto-updated.

Last update: 2017-03-16 10:22:33 UTC


README

扩展了 laravelcollective/html FormBuilder 对象(Form:: 门面),以自动输出带有 Foundation 或 Bootstrap 特定包装标记的表单字段。

示例

选择 foundationBasicGrid 后,以下调用将输出

{{ Form::text('name',null,['errors'=>$errors]) }}

将输出

<div class="row">
    <div class="medium-12 columns">
        <label for="name">
        	Name
            <input id="name" placeholder="Name" maxlength="150"
                name="name" type="text" value="Parent Organization">
        </label>
    </div>
</div>

如果字段上有验证错误,它将输出

<div class="row">
    <div class="medium-12 columns">
        <label for="name">
        	Name
            <input id="name" placeholder="Name" maxlength="150"
                name="name" type="text" value="Parent Organization">
            <small class="error">The img field is required.</small>
        </label>            
    </div>
</div>

您可以轻松更改网格列类,如果您使用 bootstrapBasicGrid,则将使用等效的 Bootstrap 3 标记。

安装

  1. 在您的 composer.json 文件中要求 "npmweb/laravel-forms": "^2.0"
  2. 运行 composer installcomposer update 以下载它并更新自动加载器。
  3. 打开 app/config/app.php 并在 providers 键下进行以下更改:a. 如果存在 'Collective\Html\HtmlServiceProvider',则取消注释它 b. 添加 'NpmWeb\FormBuilder\HtmlServiceProvider'

配置

您可能想要更改默认配置。首先,发布包配置文件

$ php artisan vendor:publish --provider="NpmWeb\FormBuilder\HtmlServiceProvider"

以下选项可用

  • 'driver':默认为 'foundationBasicGrid'(Foundation 5),但也可以设置为 'bootstrapBasicGrid'(Bootstrap 3)。这会更改生成的标记以适应给定的 CSS 框架的默认表单布局。
  • 'col_width':表单字段容器元素的网格类。例如,在 Foundation 中 'large-6' 将使容器占用 12 列中的 6 列。
  • 'row_per_field':默认为 false,在这种情况下,每个表单字段都直接输出,您需要自己将其包裹在行中。如果将其设置为 true,则每个表单字段容器都包裹在行中,强制每个字段占一行。

以下是包含的驱动程序的一些更多信息

  • foundationBasicGrid:使用基本的 Foundation 表单标记,带有包裹输入的 <label> 标签。在网格行和列中布局。
  • bootstrapBasicGrid:使用基本的 Bootstrap 表单标记,带有作为输入的前一个子元素的 <label> 标签。在网格行和列中布局。

用法

只需使用 Laravel 的任何正常 Form:: 方法即可,例如 Form::text()Form::select()。它不仅会输出裸表单控件,还会输出适当的包装 DOM 元素,以适应您选择的 CSS 框架。

此外,还添加了 Form::readonly() 方法。它将输出带有相同 DOM 元素的只读值,允许您在表单中包含只读“字段”。

许可

此代码在 MIT 许可下发布。有关详细信息,请参阅 LICENSE 文件。