私はクラスの下にフォームビルダーのコードを持っています。フィールド "ConfirmISTTimeZone"に対するユーザーの応答が "Yes"の場合、 "TimeZone"フィールドのプロンプトが表示されます。それ以外の場合は、 "Duration"を直接プロンプトする必要があります これを行う方法?あなたがFieldReflector
クラスで、そのためにSetActive
方法を使用することができます私はボットフレームワークのアプリケーションの前のフィールドの結果に基づいてさらにフィールドを入力したい
var formflow = new FormBuilder<FlightBooking>().Message("Tell me Flight details!")
.Field(nameof(Flightname))
.Field(nameof(StartDate), validate: ValidateStartDate)
.Field(nameof(ConfirmISTTimeZone), validate: ValidateResponseOfTimeZone)
.Field(nameof(TimeZone), validate: ValidateTimeZone)
.Field(nameof(Duration), validate: ValidateDuration)
ok.Thanksを、私は持っています1つの質問、ValidateTimeZoneメソッドは、私がValidateTimeZoneにDB関連のコードを持っているので、formbuilderが実行されるたびに実行され、サーバーのリクエストを増やすので毎回実行したくないため、formbuilderが実行されているときのみValidateTimeZoneを実行したいTimeZoneフィールドの処理、 –
私は過去に似たような問題がありました。最初に、メソッドに渡された値にユーザーが入力した値またはデフォルト値があるかどうかを確認します。そうでなければ、彼はおそらくまだ前のステップで忙しいでしょう。値が有効になると状態にも表示され、その値が一杯になっているかどうかを確認できます。 –