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 に答える