nifus/formbuilder

该软件包最新版本(dev-master)没有可用的许可证信息。

安装: 8

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

dev-master 2017-10-12 10:14 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:31:03 UTC


README

这是一个用于生成任何复杂程度的HTML表单的Composer包。它允许简化表单的创建,完全控制表单的外观,扩展表单元素集,添加插件,创建AJAX表单,在客户端和服务器端控制字段填充,将表单数据保存到模型,并从模型中加载数据到表单。

安装

Formbuilder就像其他包一样通过Composer安装: composer require nifus/formbuilder 0.1.x

然后如果您使用Laravel,请将Formbuilder的服务提供者添加到您的config/app.php文件中

 	'providers' => array(
        // ...
        'Nifus\Formbuilder\FormbuilderServiceProvider',
    ),

然后

 	'aliases' => array(
        // ...
        'Formbuilder' => 'Nifus\Formbuilder\Facade',
    ),

使用

要创建表单,需要创建一个\Nifus\FormBuilder\FormBuilder对象的实例,并传递一个描述表单及其参数的数据数组。还可以使用更简单的面向对象方法,结合现代IDE可以帮助您更容易地了解包的方法和属性。

下面我们将详细介绍面向对象的使用方法。首先需要创建一个\Nifus\FormBuilder\FormBuilder对象

$form = \Nifus\FormBuilder\FormBuilder::create('login');

login - 表单的ID。

接下来可以设置表单的常规参数

	$form->setAction('/login')
		->setMethod('post')
		->setEnctype('multipart/form-data')
		..

如您所见,可以链式调用方法,避免不必要的冗余。

表单的外观是工作的重要部分。可以通过多个方法来设置它

	$form->setRender('bootstrap3')

setRender将设置表单的输出格式。可能的选项有:bootstrap3,paragraf,table,withoutformat。您还可以添加自己的表单样式选项。withoutformat是一个通用选项,在这种格式中,您可以选择不进行格式化,而是直接操作表单的所有元素。这可能会使开发过程更加复杂,但允许您处理非标准布局的表单。

   $form->setCols(2)

将设置表单的列数。此方法适用于所有格式选项。它由bootstrap3和table支持。

我们接近表单开发的最重要阶段。这是描述组成表单的元素或控件的过程。

	$form->setFields(
		[
			Formbuilder::createField('text')->setName('login')->setLabel('Login'),
			Formbuilder::createField('password')->setName('pass')->setLabel('Password'),
		]
	)

setFields方法接受一个对象数组作为参数,每个对象描述一个表单元素。表单元素不仅包括我们通过HTML提供的标准元素,还包括创建自己的元素的可能性。该包中今天有超过二十种字段,可以显著扩展表单的功能。这包括多文件上传,视觉编辑器等。

每个表单元素都有自己的方法集。我们只描述标准方法,其他方法您需要查阅文档或直接查看代码。

	Formbuilder::createField('text')
		->setName('login')
		->setLabel('Login')
		->set('id','login_id')
		->set('class','red')
		..

除了您可以自己创建的表单元素外,还有另一个扩展功能和表单自定义的工具。这是扩展。扩展连接到整个表单

	$form->setExtensions(['Placeholder','Ajax'])

输出结果

	$form->render();

如果您不使用withoutformat进行表单格式设置,则输出方法将返回表单的HTML代码,足以直接输出。

保存和输出数据

表单是添加和编辑数据的一种手段。为了将填写的表单保存,我们需要指定所工作的模型

	->setModel('\User')

如果需要不仅仅是生成表单,而是将数据放入表单中,则我们指定要加载的记录号

	->setId(2)

上面我们简要介绍了包的基本功能。