3

フォームを完成させる前に確認は必要ありません。ただし、次のFormBuilder クラスの Build() メソッドには、Confirm("これはあなたの選択ですか?\n{ }")* があります。

    public IForm<T> Build()
    {
        if (!_form._steps.Any((step) => step.Type == StepType.Field))
        {
            var paths = new List<string>();
            FormBuilder<T>.FieldPaths(typeof(T), "", paths);
            IFormBuilder<T> builder = this;
            foreach (var path in paths)
            {
                builder.Field(new FieldReflector<T>(path));
            }
            builder.Confirm("Is this your selection?\n{*}");
        }
        Validate();
        return this._form;
    }

build を呼び出した後、生成されたフォームからこのステップを削除する方法はありますか?

            var form =  new FormBuilder<QuestionYourThinking>()
            .OnCompletionAsync(async (context, state) =>
            {
                await context.PostAsync("L'exercice est maintenant terminé. A bientot !");
            })
            .Build();
4

2 に答える 2

7

ActiveDelegateパラメータを受け取るオーバーロードを使用し、メソッド ハンドラを返すfalseようにすると、確認メッセージは表示されません。

return new FormBuilder<QuestionYourThinking>()
    .AddRemainingFields()
    .Confirm("No verification will be shown", state => false)
    .Message("L'exercice est maintenant terminé. A bientot !")
    .Build();

メッセージを送信するには、流暢な方法を使用できますMessage

于 2016-05-03T20:57:18.150 に答える
0

FormBuilder で .AddRemainingFields() を使用するだけです。確認を求めることはありません。.Confirm は、特定のフィールドにカスタム確認メッセージを追加する場合に使用する必要があります。

于 2017-05-27T06:23:14.497 に答える