You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Adaptive Card仅在点击Submit按钮时触发必填项验证

解决Adaptive Card取消按钮触发必填验证的问题

要实现仅点击Submit时执行必填项验证,点击Cancel时跳过验证,只需给Cancel按钮的Action.Submit添加requiresInput: false属性即可——这个属性用于控制提交动作是否需要验证输入项,默认值为true,设置为false后会直接跳过所有输入验证逻辑。

修改后的Adaptive Card代码

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.3",
  "body": [
    {
      "type": "TextBlock",
      "size": "Medium",
      "text": "Order Page",
      "wrap": true,
      "style": "heading"
    },
    {
      "type": "Input.Text",
      "label": "Item",
      "id": "item",
      "isRequired": true,
      "errorMessage": "Name is required"
    },
    {
      "type": "Input.Text",
      "label": "Quantity",
      "isRequired": true,
      "errorMessage": "Location is required",
      "id": "quantity"
    }
  ],
  "actions": [
    {
      "type": "Action.Submit",
      "title": "Cancel",
      "data": {
        "buttonClicked": "cancel"
      },
      "requiresInput": false  // 新增此属性,跳过输入验证
    },
    {
      "type": "Action.Submit",
      "title": "Submit",
      "data": {
        "buttonClicked": "submit"
      }
      // 保持默认requiresInput: true,触发必填项验证
    }
  ]
}

说明

  • requiresInput是Adaptive Card的Action.Submit原生属性,适用于1.0及以上版本的卡片规范,无需额外自定义逻辑。
  • 点击Cancel按钮时,卡片会直接将buttonClicked: cancel的提交数据发送到后端/聊天机器人,不会检查任何必填输入项。
  • 点击Submit按钮时,仍会正常验证item和quantity的必填性,只有当两项都填写后才会提交数据。

内容的提问来源于stack exchange,提问作者moys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 02:45:22