【问题标题】:Validation for adaptive cards自适应卡的验证
【发布时间】:2020-05-07 03:41:43
【问题描述】:

我使用自适应卡片安排团队会议,我无法验证卡片中的内容,因为 isRequired 不起作用。 但是我已经看到文档说明 isRequired 会起作用。

【问题讨论】:

  • 您好,请您提供一个指向说明isRequired 可以使用的文档的链接吗?
  • 我的回答可以接受吗?
  • 我使用的是团队频道,所以一旦卡片被渲染,我就无法控制数据,这意味着在从代码端验证的情况下,我必须再次渲染卡片并且再次。
  • 哦,我明白你的意思了。 Microsoft Teams 实际上允许您更新消息,因此当您在 bot 端验证它时,您可以使用预填卡发送消息更新请求,而不是在附加消息中发送预填卡。

标签: validation botframework adaptive-cards


【解决方案1】:

自适应输入中目前没有isRequired 字段,如herehere 所示。

您需要根据自己的需要和频道使用解决方法。如果您使用像 Web Chat 这样的 Direct Line 客户端,那么您将能够提供客户端验证,但这并不容易。否则,您可能需要验证机器人代码中的输入,例如Check if an input form is filled in, in a Adaptive CardCheck if an input form is filled in a Adaptive Card bot framework c# 的答案。如果您使用的频道支持消息更新,那么您甚至可以更改卡片以向用户指示他们没有填写哪些字段。

【讨论】:

    【解决方案2】:

    如果您要在机器人中大量使用自适应卡片,那么创建卡片模型并将验证属性应用于需要验证的每个字段是有意义的。创建继承自 Prompt<object> 类的自定义卡片提示。覆盖 OnPromptAsyncOnRecognizeAsync 并检查那里每个字段的验证。

    【讨论】:

      猜你喜欢
      • 2023-02-03
      • 2021-07-10
      • 2021-01-31
      • 2014-03-07
      • 2019-08-19
      • 2018-03-24
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      相关资源
      最近更新 更多