Skip to content

表单 Schema

动态表单后端统一输出 JSON schema。当前版本保持 optionformDatarules 三个旧字段,同时新增 versionmeta

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']);

输出仍兼容只读取 optionformDatarules 的旧前端。新前端可以读取 versionmeta 做增量能力判断。

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();