切换主题
Contracts 与 Validation
适用范围:Legacy Admin Kit / Schema 与旧
admin-vue。新admin-nuxtui的开发入口见管理端 Nuxt UI 指南。
作者体验从事实源开始,不从相邻页面或字段名猜业务合同。
事实链
text
Backend / OpenAPI / Authorization Provider
↓ generated owners
resource catalog + permission catalog
action-contract catalog + validation contracts
↓ explicit reference / typed adapter
Page Schema + feature binding
↓ compiler linking
Data Workbench / LegacyYDataTable runtime| 事实 | Owner | Authoring 使用方式 |
|---|---|---|
| resource operations / request schema / field mappings | generated CRUD resource catalog | inspect resource <key>,决定 standard-crud compatibility 与结构派生 |
| permission names / ancestry / tenancy side | CapabilityExporter catalog | inspect permission(s),禁止手写不存在的 key |
| action operation / validation operation / concurrency policy | ActionContract exporter/catalog | Schema 引用稳定 contract key,runtime 执行 |
| field validation / create-update mode | generated validation catalog + executable | feature 创建 validation port,不复制规则 |
| DTO/wire mapping | generated API client + feature-local typed adapter | 只映射当前领域的 transport 差异 |
Feature-local adapter 边界
Adapter 可以:
- 将表单值包装成 generated validator 所需 request envelope;
- 把 generated DTO 映射成稳定 datasource row/editor state;
- 注册真实 remote option source、renderer 与 typed extension;
- 接入业务 command executor 与 contextual error delivery。
Adapter 不可以:
- 克隆、重命名或 remap generated validation contract identity;
- 自造 permission、operationId 或 ActionContract;
- 把 DTO 完整复制进 Page Schema;
- 创建另一套通用 query/form/mutation runtime。
后端契约变化时,先运行 owner generation/check,再重新 inspect。当前 CLI 的 contracts status 只读编排现有 owner checks;不要声称尚未暴露的 contracts refresh 已可用。