lubart/form

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

帮助构建具有任意数量元素的标准化表单,指定它们的值、标签或特定参数

dev-master 2020-10-27 11:20 UTC

This package is auto-updated.

Last update: 2024-09-23 02:02:54 UTC


README

该包有助于为Web表单构建面向对象的结构。它从控制器侧提供了更多对表单数据的控制,并使视图blade文件更加整洁和易于阅读。在包内部可以创建不同类型的Web表单元素,开发者可以完全控制每个元素,并可以指定标签、名称、值、类以及其他任何自定义参数。此外,表单元素可以组合在组中,对该块有完全控制。

安装

此包是私有的,仅存储在内部服务器上。要访问此服务器,您应该将以下块添加到您的composer.json文件中

"repositories": [{
  "type": "composer",
  "url": "https://packages.home"
}]

要安装包,您可以从终端运行以下命令

composer require lubart/form

Composer将要求登录名和密码以在https://packages.home服务器上进行授权。

如果您正在使用Laravel v5.5或更高版本,则包将自动识别,无需采取任何操作;对于Laravel版本v5.1 - v5.4,应在config/app.php文件的providers部分中额外注册包

...
'provider' => [
    ...
    \Lubart\Form\FormServiceProvider::class,
    ...
]
...

使用

安装后,可以在任何类中创建新的表单,如下所示

// IndexController.php

use Lubart\Form\Form;
use Lubart\Form\FormElement;
use Lubart\Form\FormGroup;

...

public functoin form(){
    $form = new Form();
    
    $form->add(FormElement::text(['name'=>'login', 'label'=>'Login']));
    
    // or alternatively
    $passwordElement = FormElement::password(['name'=>'password']);
    $passwordElement->setLabel('Password')
        ->obligatory();
    
    $form->add($passwordElement);
    
    return view('form')->with(['form'=>$form]); 
}

然后在视图文件中

{!! $form->render() !!}

视图定制

该包基于laravelcollective/html包生成表单元素,但可以从包中发布视图文件进行自定义,以使用任何其他Web表单模板或纯HTML。要从终端发布包源代码

php artisan vendor:publish --tag=lubart-form-view

这会将所有视图文件发布到/resources/views/lubart-form目录。要使用自定义视图文件集,请更改表单视图环境

$form = new Form();

$form->setView('partial.form');

在此示例中,主表单blade文件应在resources/views/partial/form.blade.php中找到

样式发布

可以从包中发布包样式,如下所示

php artisan vendor:publish --tag=lubart-form-style

这会将编译后的lubart-form_styles.css CSS文件发布到/public/css目录,并将SASS项目发布到/resources/sass/lubart-form目录。