neos/fusion-form

融合表单

资助包维护!
shop.neos.io/neosfunding

安装数量: 528,414

依赖项: 23

建议者: 1

安全: 0

星标: 19

关注者: 6

分支: 14

开放性问题: 10

类型:neos-package

v2.3.0 2024-05-02 16:15 UTC

README

支持afx的纯融合表单渲染!

文档

Neos.Fusion.Form - 表单渲染和数据绑定

这部分内容涵盖了绑定到对象或数据并将提交给自定义控制器操作的表单的渲染。

Form.Fusion.Form:Runtime - 带有操作的单步/多步表单

这部分内容涵盖了通过融合定义具有验证和完成操作的表单。例如,联系表单和新闻通讯订阅应该这样实现。

开发目标

  • 在融合中渲染表单渲染与afx和数据绑定
  • 自动化和魔法的清晰分离,以便理解结果
  • 灵活性
    • 不对所需的标记(如classNames)做任何假设
    • 允许覆盖所有自动分配的属性
    • 启用表单片段作为融合组件
    • 允许将多个对象绑定到单个表单
    • 通过创建自定义控件启用
    • 在渲染 __trustedProperties 时尊重定义为纯html的表单元素
  • 便利性
    • 渲染用于验证、安全和持久性的隐藏字段
    • 提供验证错误并恢复先前提交的值
    • 如果需要,请使用当前请求命名空间前缀字段名
  • 使编写融合后端模块变得容易
    • 创建一个带有翻译标签和错误消息的后端字段容器
    • 调整字段容器内的字段标记以适应neos-backend

与Fluid Form ViewHelpers的重要差异

以下差异可能是流体开发者会遇到的。还有很多其他的差异,但那些是你应该注意的破坏性概念更改。

  • 不是绑定单个 object,而是将 data 数据结构绑定到表单。
  • 表单数据绑定通过 form.data.object={object} 定义,而不是通过 objectNameobject
  • 字段数据绑定通过 field.name="object[title]" 定义,其中包含对象名称和方括号用于嵌套。
  • 不支持使用 property 路径语法进行数据绑定。
  • 选择选项和组直接定义为afx content,而不是 options

与Neos.Form包概念的重要差异

  • 表单渲染和验证的定义被分离到 processcontentschema
  • 默认情况下使用 SingleStepProcess,因为这是最常见的情况。如果你需要多个步骤,必须将 process 更改为 MultiStepProcess
  • 可以通过融合以统一的方式使用设置、表单数据和节点属性来定义操作并控制流程。
  • 确认不再是特殊功能,但在多步流程中可以定义为“步骤”
  • finishers的概念被替换为 actions
  • 操作不能决定将用户送回表单流程。