2016-09-22 4 views
0

以下の例外があります。ValidationResult throws "オブジェクト参照がオブジェクトのインスタンスに設定されていません"。ご返品の際には

スタックトレース:例外:例外キャッチ: の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; 
}) 
+0

以下のような選択肢のためのすべてのプロパティ値を使用して、とNullReferenceExceptionのための完全なスタックトレースを共有することができます提供しなければならなかったことをfigred ? –

+0

「価値」とあなたの選択肢の要素の価値を知っていますか?いずれかがヌルですか? –

答えて

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 
      }; 
関連する問題