0

请查找以下异常。

堆栈跟踪:异常:异常捕获:mscorlib.dll 中的“Microsoft.Bot.Builder.FormFlow.FormCanceledException1”(“对象引用未设置为对象的实例。”)。异常捕获:mscorlib.dll 中的“Microsoft.Bot.Builder.FormFlow.FormCanceledException1”(“对象引用未设置为对象的实例。”)

嗨,我正在尝试生成表单流,并且在验证期间,如果用户输入错误的文本,那么我将传递选项以供选择,但是机器人会抛出异常并且模拟器挂起。

下面是示例

.Field(nameof(RegistrationForm.ModelNumber), validate: async (state, value) =>
{
var modelsSuggestion = PimsServiceClient.GetModelSuggestion();
ValidateResult validateResult = new ValidateResult()
{
IsValid = modelsSuggestion.Any(m => m.ToLower().Equals(value?.ToString().ToLower())),
Value = value,
Choices = new List(modelsSuggestion.Select(s => new Choice { Value = s } }))
};

 /* Do some database stuff */
  return validateResult;
 })
4

1 回答 1

0

我再次尝试并发现我必须为以下选择提供所有属性值

 var choices = new List<Choice>();

choices.Add(new Choice { Description = new DescribeAttribute("Tes1", null, "Tes1", null, null), Value ="Tes1", Terms = new TermsAttribute("Tes1", "T1")});

choices.Add(new Choice { Description = new DescribeAttribute("Test2", null, "Test2", null, null), Value = "Test2", Terms = new TermsAttribute("Test2", "T2") });

    ValidateResult validateResult = new ValidateResult()
                {
                /*if modelSuggestion != null && modelsSuggestion.Any()*/
                IsValid = false,
                Value = value,
                Choices = choices
            };
于 2016-10-19T12:29:09.020 回答