【问题标题】:Adaptive card conditional validation自适应卡片条件验证
【发布时间】:2023-02-03 01:17:58
【问题描述】:

我有一张如下所示的自适应卡

{
  "$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"
      }
    },
    {
      "type": "Action.Submit",
      "title": "Submit",
      "data": {
        "buttonClicked": "submit"
      }
    }
  ]
}

我在聊天机器人中使用它。

如果用户希望通过单击Submit 按钮订购,则必须在此处输入商品名称和数量。

另一方面,如果他们改变主意不想订购,他们可以点击Cancel按钮。

但是,由于我有 "isRequired": true,,即使用户单击 Cancel 按钮,卡也会开始验证。那么,如何仅在单击Submit 按钮时进行验证,而不是在单击Cancel 按钮时进行验证?

【问题讨论】:

    标签: json adaptive-cards


    【解决方案1】:

    有一个可用的解决方案。您可以使用属性“associatedInputs”并将其设置为“none”。

        {
          "type": "Action.Submit",
          "title": "Cancel",
          "associatedInputs": "none",
          "data": {
            "buttonClicked": "cancel"
          }
        },
    

    您可以在此处找到相关文档: https://adaptivecards.io/explorer/Action.Submit.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-31
      • 2020-07-07
      • 2021-02-06
      • 2021-11-14
      • 2020-07-29
      • 2018-10-14
      • 2021-10-23
      • 2021-02-17
      相关资源
      最近更新 更多