petenzaccha/dy-form

动态表单生成器

v1.1.4 2019-09-24 13:59 UTC

This package is auto-updated.

Last update: 2024-09-25 01:04:56 UTC


README

License Latest Stable Version

安装

您可以通过composer安装此包

composer require peterzaccha/dy-form

如果您使用的是版本 < 5.5 的Laravel,则必须在下一步注册服务提供者

// config/app.php
'providers' => [
    ...
    Peterzaccha\DyForm\DyFormServiceProvider::class
];

您可以通过运行以下命令来发布视图、迁移和配置

php artisan vendor:publish --provider="Peterzaccha\DyForm\DyFormServiceProvider"
php artisan migrate

警告

⚠️ 此文档不完整!请自行使用或在准备就绪后使用!⚠️

使用方法

创建表单

$form = Dy::create(['name'=>'myForm']);

创建列

$column = Dy::createColumn(['name'=>'myColumn','label'=>'My Column','render_type'=>'text']);

向表单添加列

Dy::addColumn($form,$column);

向列添加选项

Dy::addOption($column,Dy::createOption(['name'=>'one','value'=>'1']));

提交表单

Dy::submit($user, \Peterzaccha\DyForm\Models\DyForm::find(1),[
    'columnName' => 'column value',
]);

//or from request

Dy::submit($user, \Peterzaccha\DyForm\Models\DyForm::find(1),$request->all());

使用CanSubmit特性

<?php

namespace App;
use Peterzaccha\DyForm\Traits\CanSubmit;

class User extends Authenticatable
{
    use CanSubmit;
}

现在您可以

use Peterzaccha\DyForm\Models\DyColumn;

$column = DyColumn::find(1);
$user->getColumnValue($column);
//return the user submitted value in that column
use Peterzaccha\DyForm\Models\DyForm;

$form = DyForm::find(1);
$user->getFormValues($form);
//return [ 'colum1'=>'value1' , 'column2'=>'value2' ]

渲染类型

  • 复选框
  • 颜色
  • 日期
  • 电子邮件
  • 文件
  • 月份
  • 多文件
  • 数字
  • 密码
  • 推送(即将推出)
  • 单选按钮
  • 范围
  • 选择
  • 多选选择
  • 文本区域
  • 时间
  • 网址

渲染

您可以使用dy-form组件

<dy-form :id="$formId" :user="$userModelObject">
    <input type="submit">
</dy-form>

变更日志

查看变更日志

测试

要运行测试,请使用

$ composer test

贡献

安全

如果您发现任何与安全相关的问题,请发送电子邮件至 p.pator@outlook.com 或使用GitHub的问题跟踪器。

关于

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件