【问题标题】:Regarding the submit button in adaptive cards关于自适应卡中的提交按钮
【发布时间】:2021-11-28 21:01:28
【问题描述】:

我的问题是关于自适应卡片中的提交按钮。我正在为记录中的出生日期实施自适应卡。到目前为止,我已经实现了一个日期选择器,其中日期选择器的默认值将是记录中存在的用户 DOB。我需要禁用“更新”按钮,直到/除非用户更改默认值。是否可以以这种方式实现日期选择器?我附上了迄今为止我实施的日期选择器的屏幕截图。提前致谢。

Image

public static Attachment DatePickerAttachment(string givenDob, string maxDate, string minDate)
            {
                var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));

                card.Body.Add(new AdaptiveTextBlock()
                {
                    Text = $"Please enter the date",
                    Wrap = true,
                    Size = AdaptiveTextSize.Default,
                    Spacing = AdaptiveSpacing.Medium
                });

                var inputDate = new AdaptiveDateInput()
                {
                    Id = "date",
                    Placeholder = "Please enter the date",
                    Value = $"{givenDob}",
                    Max = $"{maxDate}",
                    Min = $"{minDate}"
                };

                card.Body.Add(inputDate);

                var dataObj = new SimpleObjClass()
                {
                    value = "go on with the process"
                };

                var action = new AdaptiveSubmitAction()
                {
                    Title = "Update",
                    Data = dataObj,
                };
                card.Actions.Add(action);



                var dataObj2 = new SimpleObjClass() { value = "kill the process" };
                var action1 = new AdaptiveSubmitAction()
                {
                    Title = "Cancel",
                    Data = dataObj2,
                };
                card.Actions.Add(action1);

                var attachment = new Attachment
                {
                    ContentType = AdaptiveCard.ContentType,
                    Content = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(card)),
                };
                return attachment;
            }

【问题讨论】:

    标签: c# botframework adaptive-cards


    【解决方案1】:

    查看图像,您似乎正在使用网络聊天频道。我相信 1.3 架构是受支持的,这意味着您可以在 Adaptive Card 中使用本机验证,特别是“isRequired”和“errorMessage”属性。

    {
        "type": "AdaptiveCard",
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "version": "1.3",
        "body": [
            {
                "type": "Input.Date",
                "isRequired": true,
                "errorMessage": "Please select a date",
                "id": "Date",
                "label": "Date",
                "value": "10/10/2020"
            }
        ],
        "actions": [
            {
                "type": "Action.Submit",
                "title": "Update"
            }
        ]
    }
    

    【讨论】:

    • 嗨@Steve Johnson,谢谢你的回复,我想你不明白我的问题,我的问题是必须禁用更新或抛出错误消息,直到用户选择数据而不是数据选择器上的默认日期。提前致谢。
    • 我已经用记录的我如何理解它的过程更新了答案 - 这不正确吗?我的理解是,如果没有选择日期,更新按钮会引发错误。
    • 嗨@Steve,是的,这不是我所期望的,而不是 dd/mm/yyyy,你有一个默认值,比如 21/10/2002,如果更新按钮必须抛出错误选择更新时默认日期不会更改
    • 嗨@Steve,我想你明白我的意图,抱歉我没有任何东西可以直观地展示给你。
    • 没问题,您的自适应卡中是否已经填充了 DOB 值?到目前为止,您尝试过什么?
    猜你喜欢
    • 2021-03-24
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    相关资源
    最近更新 更多