【发布时间】:2017-08-19 12:27:26
【问题描述】:
有简单的瀑布对话框:
SendMessageDialog = [
function (session) {
builder.Prompts.time(session, "Enter dates?");
},
function (session, results) {
session.conversationData.start = builder.EntityRecognizer.resolveTime([results.response]).toISOString();
if(typeof results.response.resolution.end != "undefined")
session.conversationData.end = results.response.resolution.end.toISOString();
}
];
Bot 成功识别不同格式的时间,如果格式无效,则默认提示用户建议重新输入数据,例如:
我不明白。请从列表中选择一个选项。
在Prompts 选项中,我只能更改此默认retryPrompt 消息。如果我需要额外的验证,例如:
- 用户输入日期,但由于业务原因,日期无效 逻辑(过去,不可用)
- 用户输入一个位置,因此需要检查可用位置列表(可能来自 api 调用)
- 检查
Prompts.number()之后的号码范围 - 等
是否有一种简单的方法可以添加额外的验证以重试相同的瀑布步骤并要求用户重新输入数据?如何实施? BotBuilder 3.9 是否有可行的代码?
存在some examples 可以使用 LUIS API 调用进行一些验证,但它们仅适用于下一个瀑布步骤。目标是在输入正确的数据之前不进行下一步 - 有可能吗?谢谢!
【问题讨论】:
标签: node.js validation botframework