anahkiasen/former

强大的表单构建器

5.0.0 2024-06-03 08:54 UTC

README

以Laravel风格创建和格式化表单

Latest Stable Version Total Downloads

Former将表单元素输出为与您最喜欢的CSS框架(Bootstrap和Foundation目前支持)兼容的HTML。Former还处理验证错误后的重新填充,包括自动渲染受影响字段的错误文本。

简介

Former提供了一种流畅的表单创建方法,允许您做

Former::framework('TwitterBootstrap3');

Former::horizontal_open()
  ->id('MyForm')
  ->rules(['name' => 'required'])
  ->method('GET');

  Former::xlarge_text('name') # Bootstrap sizing
    ->class('myclass') # arbitrary attribute support
    ->label('Full name')
    ->value('Joseph')
    ->required() # HTML5 validation
    ->help('Please enter your full name');

  Former::textarea('comments')
    ->rows(10)
    ->columns(20)
    ->autofocus();

  Former::actions()
    ->large_primary_submit('Submit') # Combine Bootstrap directives like "lg and btn-primary"
    ->large_inverse_reset('Reset');

Former::close();

每次调用不存在的方法时,Former都会假设您正在尝试设置一个属性,并神奇地创建它。这就是为什么在上面的例子中您可以这样做 ->rows(10);如果您想设置包含破折号的属性,只需将它们替换为下划线:->data_foo('bar') 等于 data-foo="bar"。当然,如果您想设置实际包含下划线的属性,您始终可以使用回退方法 setAttribute('data_foo', 'bar')。欢迎您。

这是核心,但Former还提供了更多功能。我邀请您查阅wiki以了解Former能做什么。

安装

使用Composer要求Former包

composer require anahkiasen/former

使用artisan发布配置文件

php artisan vendor:publish --provider="Former\FormerServiceProvider"

Laravel 5.4及以下版本的App.php配置

对于Laravel 5.4及以下版本,您必须修改您的 config/app.php 文件。

providers 数组中添加

Former\FormerServiceProvider::class

然后通过添加其外观到同一文件中的 aliases 数组来为Former的主类添加别名

'Former' => 'Former\Facades\Former',

文档

请参阅 wiki 以获取完整文档。