如何实现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
相关产品推荐
相关产品推荐

