如何在bot框架中validation电话号码?

我正在使用以下代码来获取电话号码的用户input。 我想validation用户input,如果不正确,需要请求用户再次input。

[function (session, results, next) { builder.Prompts.text(session, 'I will also need to know your contact number.'); } ,function (session, results, next) { session.userData.contactNo = results.response; next(); }] 

我试过这个例子 ,但是它给出了一个警告,说它已经被弃用了。 欣赏任何关于正确的方法来做到这一点(不使用已弃用的方法)的帮助。 我的电话号码正则expression式是^[689]\d{3}\s?\d{4}$

文档中有一个有趣的示例:

 bot.dialog('/phonePrompt', [ function (session, args) { if (args && args.reprompt) { builder.Prompts.text(session, "Enter the number using a format of either: '(555) 123-4567' or '555-123-4567' or '5551234567'") } else { builder.Prompts.text(session, "What's your phone number?"); } }, function (session, results) { var matched = results.response.match(/\d+/g); var number = matched ? matched.join('') : ''; if (number.length == 10 || number.length == 11) { session.endDialogWithResult({ response: number }); } else { session.replaceDialog('/phonePrompt', { reprompt: true }); } } ]); 

在这里你可以看到,在处理结果的函数中,他们正在执行一些检查,然后如果无效,他们将使用reprompt参数来执行reprompt

您可以在这里尝试与您的业务逻辑相同(即:做你的正则expression式检查,而不是样本中的数字长度检查)