主题
表单 Schema
动态表单后端统一输出 JSON schema。当前版本保持 option、formData、rules 三个旧字段,同时新增 version 和 meta。
json
{
"version": "1.1",
"option": {},
"formData": {},
"rules": [],
"meta": {}
}字段说明
version: schema 版本,默认1.0,可通过schemaVersion()指定。option: form-create 表单配置。formData: 表单默认值。rules: form-create 规则列表。meta: 业务元信息,前端可用于路由、权限、页面模式等辅助判断。
PHP 用法
php
use CatchForm\Form;
return Form::make(function (Form $form): void {
$form->text('name', '名称')->required();
}, ['name' => 'Jane'])
->schemaVersion('1.1')
->meta(['resource' => 'users']);输出仍兼容只读取 option、formData、rules 的旧前端。新前端可以读取 version 和 meta 做增量能力判断。
Value Object
CatchForm\Schema\FormSchema 可用于组装和测试 schema:
php
use CatchForm\Schema\FormSchema;
$schema = new FormSchema(
version: '1.1',
option: ['submitBtn' => ['show' => true]],
formData: ['name' => 'Jane'],
rules: [],
meta: ['resource' => 'users'],
);
return $schema->toArray();
