aracademia/lightning

用一行代码创建Laravel表单

1.0 2014-07-25 13:35 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:47:25 UTC


README

=========

用一行代码创建Laravel表单

安装(使用composer)

  1. 将以下代码添加到您的composer.json文件中

``` "require-dev": { "aracademia/lightning": "~1.0" } ```

2. 在您的终端中运行Composer更新
  1. 将以下服务提供者添加到app/config/app.php中的providers数组下
    'Aracademia\Lightning\LightningFormServiceProvider'
    
  2. 通过在您的终端中运行以下命令发布配置文件。之后,配置文件将放置在app/config/packages/aracademia/lightning

    ``` php artisan config:publish aracademia/lightning ```

如何使用此包

让我们用一个例子来看看这个包有多简单。我们将创建一个联系我们表单。打开一个视图文件,确保它具有.blade.php扩展名,然后输入以下代码{{Lightning::create('contact')}}这就完成了。这三个单词将创建一个包含以下字段的联系我们表单:名字、姓氏、电子邮件、消息、提交按钮,使用bootstrap样式,默认的post URL将是当前页面URL。

如果您想创建一个登录表单,那么您只需要将contact的名字改为login {{Lightning::create('login')}}这将创建一个包含电子邮件和密码字段的登录表单。####好吧,这很酷...但是等等!如果我想添加其他字段或者编辑现有的字段怎么办?如果我想为我的字段添加属性或者覆盖类怎么办?如果我想更改表单的操作URL怎么办?*别担心,我们支持您。这个包非常灵活和可定制。

编辑配置文件

让我们首先从编辑配置文件开始。假设我们想添加一个新的表单,允许用户将个人信息添加到他们的个人资料中。

  1. 转到配置文件,并在表单数组下添加一个包含表单名称和字段的另一个嵌套数组
    "forms"   =>  [
        'contact'       => 'first_name,last_name,email,message',
        'login'         =>  'email,password',
        'register'      =>  'first_name,last_name,email,password,password_confirmation',
        'personalInfo'  =>  'age, telephone, homephone, favorite_movie'//...etc you got the idea
  1. 转到您想要放置表单的视图,并调用

``` {{Lightning::create('personalInfo')}} ```

您可以根据需要添加更多字段或从配置文件中的现有表单中删除一些字段。

配置文件中的inputTypes数组显示了与HTML 5类型相关的一些常见输入字段名称,这样如果不想手动指定输入的类型,这个数组将设置正确的输入类型。例如,电子邮件输入名称将自动具有email类型,而不是默认的text。您可以向数组中添加更多名称,但是请注意,名称的类型需要与Laravel表单外观兼容。此外,我们还可以覆盖任何字段的类型。有关更多信息,请参阅下面的内联自定义部分。

配置文件的其余部分只是bootstrap类和div包装器。如果您不使用bootstrap,可以更改这些。

内联自定义

lightning表单的create方法接受4个参数 Lightning::create(1,[2],[3],[4])

  1. 第一个参数是一个字符串。它是我们要创建的表单名称。例如:login、register、contact...

  2. 此参数使用Laravel表单open参数。我们可以传递URL、路由、操作、方法等。例如:Lightning::create('register',['url'=>'login','method'=>'post'....])

  3. 在这里,我们可以向表单添加或编辑字段及其属性。确保用冒号:和逗号,分隔属性名称和值。例如:Lightning::form('create',['route'=>'product.create'],['name'=>'required:required, id:productName, class:bar'])

  4. 最后一个参数是一个用于提交按钮的数组。例如:Lightning::create('survey',null,null,['name'=>'submit','value'=>'Send','class'=>'btn btn-primary'])

看看这个例子。我们将自定义注册表单

{{Lightning::create('register',['route'=>'register.create'],['age'=>'required:required,type:number','mobile'=>'type:tel'],['value'=>'Join','class'=>'btn btn-success'])}}

上面的代码将在配置文件中的默认字段基础上创建一个注册表单,并额外添加两个新字段(年龄、手机)。如果你想要覆盖现有字段的属性,只需传递字段名称和要添加或覆盖的属性。