npmweb / laravel-forms
此包已被废弃,不再维护。没有建议的替代包。
扩展 Laravel 的 FormBuilder,用于布局 Bootstrap 或 Foundation 的表单元素
2.0.1
2015-05-27 16:45 UTC
Requires
- laravel/framework: ~4.1 || ~5.0
- npmweb/client-validation-generator: ^2.0
Requires (Dev)
- mockery/mockery: dev-master@dev
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 标记。
安装
- 在您的
composer.json
文件中要求"npmweb/laravel-forms": "^2.0"
。 - 运行
composer install
或composer update
以下载它并更新自动加载器。 - 打开
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 文件。