Malla文档

表单

表单元素、垃圾信息防护、按环境区分的提交记录和邮件通知。

用户指南

表单用于收集潜在客户、注册、反馈和订单。防垃圾信息、校验、存储和通知功能都已内置。

构建表单

  1. 插入表单

    在插入菜单中添加一个 Form。然后在其中添加字段:Input、Text area、Select 和 Checkbox。

  2. 配置字段

    每个字段都有名称、标签、占位文本和类型:text、email、number、tel、URL、date、password 或 hidden。添加规则:必填、最小和最大长度,以及匹配模式。字段还可以把它的值写入一个变量。

  3. 选择提交后的处理方式

    在表单分区中选择动作:built-in 会替你处理提交(验证、存储、通知),none 则交给你自己的工作流处理。设计成功和错误状态,或者设置一个要跳转到的页面。

  4. 发布并测试

    表单在已发布的站点上工作。使用检查器中的 Preview form state,在画布上设计成功和错误状态。

提交时发生了什么

验证Turnstile 令牌、蜜罐字段,以及按 IP 和表单的限流。
校验在服务器上再次检查相同的字段规则。
存储按环境分别保存,IP 经过哈希处理。
通知发送邮件到你的收件人列表;工作流还能做更多。

提交记录

Forms 工作区列出站点的所有表单及其提交记录。可在 staging 和 production 之间切换:测试提交永远不会和真实提交混在一起。可以逐条删除提交记录,也可以 Export CSV。

每个表单的设置

  • Notification emails:每次生产环境提交时,谁会收到邮件。
  • Store submissions:关闭后只发送通知,适合对隐私敏感的表单。
  • Retention:永久保留提交记录,或在指定天数后删除。
  • Redirect after submit:把访客引导到感谢页面。

用工作流自动化

在表单的 submit 事件上添加一个客户端工作流。对于必须在服务器上完成的工作,把一个服务端工作流公开为接口,然后调用它来发送自动回复、写入数据表、调用你的 CRM 或发消息到 Slack。字段值也可以通过 $model 绑定到变量,这样你的步骤就能读取它们。