dcat-x/form-step
Composer 安装命令:
composer require dcat-x/form-step
包简介
Dcat Admin multi-step form extension
README 文档
README
Form Step
Dcat Admin 分步表单扩展,支持将复杂表单拆分为多个步骤,提升用户填写体验
功能特性
- 多步骤表单管理,支持任意数量步骤
- 单步验证,减少服务器请求
- 数据持久化,刷新页面不丢失数据
- 自定义完成页面
- 支持文件上传
- 响应式 UI 设计
安装
通过 Composer 安装:
composer require dcat-x/form-step
然后在 Dcat Admin 后台启用扩展,或发布资源文件:
php artisan vendor:publish --provider="Dcat\Admin\FormStep\FormStepServiceProvider"
使用方法
基本用法
use Dcat\Admin\Form; $form = new Form(new User()); $form->multipleSteps(function ($step) { // 第一步:基本信息 $step->add('基本信息', function ($form) { $form->text('name', '姓名')->required(); $form->email('email', '邮箱')->required(); $form->password('password', '密码')->required(); }); // 第二步:详细信息 $step->add('详细信息', function ($form) { $form->text('phone', '电话'); $form->textarea('address', '地址'); }); // 第三步:确认信息 $step->add('确认', function ($form) { $form->textarea('remarks', '备注'); }); }); return $form;
配置选项
$form->multipleSteps(function ($step) { // 添加步骤... // 设置容器宽度 $step->width('1200px'); // 设置内边距 $step->padding('30px 20px'); // 启用数据记忆(刷新页面不丢失) $step->remember(true); // 选择初始步骤 $step->select(0); });
自定义完成页面
$form->multipleSteps(function ($step) { // 添加步骤... // 自定义完成页面 $step->done('完成', function ($page) { $data = $page->input(); // 获取所有输入数据 $id = $page->getNewId(); // 获取新创建的记录 ID return view('my-completion-page', compact('data', 'id')); }); });
步骤事件
$form->multipleSteps(function ($step) { $step->add('步骤一', function ($form) { $form->text('name'); // 离开当前步骤时执行 $form->leaving('console.log("离开步骤一")'); // 显示当前步骤时执行 $form->shown('console.log("显示步骤一")'); }); }); // 全局事件 $step->leaving('console.log("离开步骤", args.index)'); $step->shown('console.log("显示步骤", args.index)');
步骤描述
$step->add('基本信息', function ($form) { $form->setDescription('请填写您的基本信息'); $form->text('name'); $form->email('email'); });
API 参考
Builder 类
| 方法 | 说明 |
|---|---|
add($title, $callback) |
添加步骤 |
done($title, $callback) |
配置完成页面 |
width($width) |
设置容器宽度 |
padding($padding) |
设置内边距 |
remember($bool) |
启用/禁用数据记忆 |
select($index) |
选择初始步骤 |
shown($script) |
注册步骤显示事件 |
leaving($script) |
注册步骤离开事件 |
count() |
获取步骤数量 |
all() |
获取所有步骤 |
Form 类
| 方法 | 说明 |
|---|---|
setTitle($title) |
设置步骤标题 |
setDescription($desc) |
设置步骤描述 |
setIndex($index) |
设置步骤索引 |
shown($script) |
注册当前步骤显示事件 |
leaving($script) |
注册当前步骤离开事件 |
CompletionPage 类
| 方法 | 说明 |
|---|---|
title($title) |
获取/设置标题 |
contents($content) |
设置页面内容 |
input($key, $default) |
获取表单输入数据 |
getNewId() |
获取新创建的记录 ID |
form() |
获取表单实例 |
测试
composer test
代码风格
composer lint
更新日志
请查看 CHANGELOG 了解版本更新信息。
贡献指南
请查看 CONTRIBUTING 了解如何参与贡献。
安全漏洞
如果发现安全漏洞,请查看 SECURITY 了解报告方式。
致谢
许可证
MIT License. 请查看 LICENSE 了解更多信息。
dcat-x/form-step 适用场景与选型建议
dcat-x/form-step 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「form」 「wizard」 「extension」 「laravel」 「dcat-admin」 「multi-step」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 dcat-x/form-step 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dcat-x/form-step 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 dcat-x/form-step 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Provides methods to create, validate and render HTML forms in PHP.
A custom URL rule class for Yii 2 which allows to create translated URL rules
Site generator / tree model duplicator used to generate mini-website or duplicate tree model
Diese Contao 4 Erweiterung stellt Google reCAPTCHA V2 in Form eines neuen Formularfeldes im Formulargenerator bereit. This extension provides Google reCAPTCHA V2 in the form of a new form field in the form generator of Contao Open Source CMS.
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-16