ramonsmit/laravel-form-builder

此包已被废弃且不再维护。未建议任何替代包。

Laravel 表单构建器

1.0.0 2023-07-18 07:39 UTC

This package is auto-updated.

Last update: 2023-07-18 07:42:13 UTC


README

安装

将以下内容添加到您的 composer.json 文件中

{
  "repositories": [{
    "type": "composer",
    "url": "https://composer.DALTCORE.com"
  }]
}

然后通过 composer 安装

composer require DALTCORE/laravel-form-builder

注册服务提供者

注意!如果您使用的是 laravel>=5.5 且启用了包自动发现功能,则此步骤和下一个步骤是可选的。

将服务提供者添加到 config/app.php 文件的 providers 部分

DALTCORE\LaravelFormBuilder\ServiceProvider::class,

注册门面

config/app.php 文件的 aliases 部分注册包门面

'Formbuilder' => DALTCORE\LaravelFormBuilder\Facades\LaravelFormBuilder::class,

使用方法

迁移迁移文件

php artisan migrate

构建表单

<?php
$form = Formbuilder::form()->create([
    'name'                  => '',      // Validations: required|string       Default: null
    'active'                => '',      // Validations: required|boolean      Default: false
    'emails'                => '',      // Validations: nullable|string       Default: null
    'success_message'       => '',      // Validations: nullable|string       Default: null
    'redirect_url'          => '',      // Validations: nullable|string       Default: null
    'confirm_email'         => '',      // Validations: required|boolean      Default: false
    'send_email'            => '',      // Validations: required|boolean      Default: false
    'save_data'             => '',      // Validations: required|boolean      Default: false
    'recaptcha'             => '',      // Validations: required|boolean      Default: false
    'recaptcha_private_key' => '',      // Validations: nullable|string       Default: null
    'recaptcha_public_key'  => '',      // Validations: nullable|string       Default: null
]);

添加元素

<?php
$element = $form->element()->create([
     'formbuilder_form_id' => '',        // Validations: required|integer      Default: Autofilled
     'active'              => '',        // Validations: required|boolean      Default: false 
     'order'               => '',        // Validations: integer|nullable      Default: null
     'required'            => '',        // Validations: required|boolean      Default: false
     'name'                => '',        // Validations: required|string       Default: null
     'placeholder'         => '',        // Validations: string|nullable       Default: null
     'help_block'          => '',        // Validations: string|nullable       Default: null
     'type'                => '',        // Validations: required|string       Default: null
 ]);

添加值

<?php
$value = $element->value()->create([
    'formbuilder_element_id' => '',      // Validations: required|integer     Default: Autofilled
    'active'                 => '',      // Validations: required|boolean     Default: false
    'order'                  => '',      // Validations: integer|nullable     Default: null
    'name'                   => '',      // Validations: required|string      Default: null
 ]);

构建表单

<?php
$array = $form->build()->toArray();
Array response example:
/**
 array (
   'id' => 1,
   'name' => 'Test formulier',
   'success_message' => NULL,
   'redirect_url' => NULL,
   'recaptcha' => 0,
   'recaptcha_public_key' => NULL,
   'elements' => 
   array (
     0 => 
     array (
       'id' => 1,
       'order' => NULL,
       'required' => 0,
       'name' => 'Test element',
       'placeholder' => NULL,
       'help_block' => NULL,
       'type' => 'text',
       'values' => 
       array (
       ),
     ),
     1 => 
     array (
       'id' => 2,
       'order' => NULL,
       'required' => 0,
       'name' => 'select test',
       'placeholder' => NULL,
       'help_block' => NULL,
       'type' => 'select',
       'values' => 
       array (
         0 => 
         array (
           'id' => 1,
           'order' => NULL,
           'name' => 'Waarde 1',
         ),
         1 => 
         array (
           'id' => 2,
           'order' => NULL,
           'name' => 'Waarde 2',
         ),
         2 => 
         array (
           'id' => 3,
           'order' => NULL,
           'name' => 'Waarde 3',
         ),
         3 => 
         array (
           'id' => 4,
           'order' => NULL,
           'name' => 'Waarde 4',
         ),
       ),
     ),
   ),
 )
*/

$json  = $form->build()->toJson();

/**
Json response example:
 {
     "id": 1,
     "name": "Test formulier",
     "success_message": null,
     "redirect_url": null,
     "recaptcha": 0,
     "recaptcha_public_key": null,
     "elements": [{
         "id": 1,
         "order": null,
         "required": 0,
         "name": "Test element",
         "placeholder": null,
         "help_block": null,
         "type": "text",
         "values": []
     }, {
         "id": 2,
         "order": null,
         "required": 0,
         "name": "select test",
         "placeholder": null,
         "help_block": null,
         "type": "select",
         "values": [{
             "id": 1,
             "order": null,
             "name": "Waarde 1"
         }, {
             "id": 2,
             "order": null,
             "name": "Waarde 2"
         }, {
             "id": 3,
             "order": null,
             "name": "Waarde 3"
         }, {
             "id": 4,
             "order": null,
             "name": "Waarde 4"
         }]
     }]
 }
*/

更新表单/元素/值

更新表单

<?php
$form = Formbuilder::form()-load(25);
$form->update([
    'emails'                => 'test@example.com, me@you.org',
    'success_message'       => 'Yes, you did it right!',
]);

更新元素

<?php
$element = Formbuilder::element()-load(69);
$element->update([
    'name'                => 'Voornaam',
    'placeholder'         => 'John Doe',
]);

更新值

<?php
$element = Formbuilder::value()-load(12);
$element->update([
    'active'                 => true,
]);

删除表单/元素/值

删除表单

<?php
$form = Formbuilder::form()-load(25)->delete();
// or
$form = Formbuilder::form()->delete(25);

这将删除包含所有元素和值的表单

删除元素

<?php
$element = Formbuilder::element()-load(69)->delete();
// or
$element = Formbuilder::element()->delete(25);

这将删除包含所有值的元素

删除值

<?php
$value = Formbuilder::value()-load(12)->delete();
// or
$value = Formbuilder::value()->delete(12);

这将仅删除一个值

安全性

如果您发现任何与安全性相关的问题,请发送电子邮件至 rsmit@DALTCORE.com,而不是使用问题跟踪器。

鸣谢