Sprache

FormBuilderJson Klasse

Definition

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

public sealed class FormBuilderJson : Microsoft.Bot.Builder.FormFlow.FormBuilderBase<Newtonsoft.Json.Linq.JObject>
type FormBuilderJson = class
    inherit FormBuilderBase<JObject>
Public NotInheritable Class FormBuilderJson
Inherits FormBuilderBase(Of JObject)
Vererbung
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

Hinweise

Definiere ein Formular über ein JSON-Schema mit optionalen zusätzlichen Annotationen, die den für C# bereitgestellten Attributen entsprechen.

%FormFlow eine Reihe von Standard-JSON-Schema-Schlüsselwörtern verwendet, darunter:

  • type -- Definiert den Feldtyp. * enum -- Definiert die möglichen Feldwerte. * minimum -- Definiert den minimal erlaubten Wert wie beschrieben in NumericAttribute. * maximum -- Definiert den maximal erlaubten Wert wie beschrieben in NumericAttribute. * required -- Definiert, welche Felder benötigt werden. * pattern -- Für Zeichenkettenfelder werden verwendet, um das eingegebene Muster wie beschrieben in PatternAttributezu validieren.

    Vorlagen und Prompts verwenden denselben Wortschatz wie TemplateAttribute und PromptAttribute. Die Eigenschaftsnamen sind dieselben und die Werte sind identisch mit denen in der zugrundeliegenden C#-Aufzählung. Um zum Beispiel eine Vorlage zu definieren, die die NotUnderstood Vorlage überschreibt und ein TemplateBaseAttribute.ChoiceStyle anzugeben, würdest du Folgendes in dein Schema einfügen: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~

    %Extensions an der Wurzel des Schemas definiert * OnCompletion: script -- C#-Skript mit Argumenten (IDialogContext Kontext, JObject-Zustand) zum Vervollständigen der Form. * References: [assemblyReference, ...] -- Definiere Referenzen, die in Skripte aufgenommen werden. Pfade sollten absolut oder relativ zum aktuellen Verzeichnis sein. Standardmäßig ist Microsoft.Bot.Builder.dll enthalten. * Imports: [import, ...] -- Importe definieren, die in Skripten mit Usings enthalten sind. Standardmäßig sind diese Namensräume enthalten: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialoge, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq

    %Extensions an der Wurzel eines Schemas oder als Peer der "Typ"-Eigenschaft definiert. * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} -- Definiere Vorlagen. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- Definiere einen Prompt.

    %Extensions, die in einer Eigenschaftsbeschreibung als Peers zur "Typ"-Eigenschaft eines JSON-Schemas gefunden werden. * DateTime:bool -- Markiert ein Feld als DateTime-Feld. * Describe:string -- Beschreibung eines Körpers wie beschrieben in DescribeAttribute. * Terms:[string,...] -- Reguläre Ausdrücke zur Übereinstimmung eines Feldwerts wie beschrieben in TermsAttribute. * MaxPhrase:int -- Das wird Ihre Bedingungen durchlaufen GenerateTerms(String, Int32) , um sie zu erweitern. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- Die Zeichenkette muss in den Typen "enum" gefunden werden, was es ermöglicht, die automatisch generierten Beschreibungen und Begriffe zu überschreiben. Wenn MaxPhrase angegeben ist, werden die Begriffe durch GenerateTerms(String, Int32)geleitet. * Active:script -- C#-Skript mit Argumenten (JObject-Zustand)->bool, um zu testen, ob Field/Message/Confirm aktiv ist. * Validate:script -- C#-Skript mit Argumenten (JObject-Zustand, Objektwert)->ValidateResult zur Validierung eines Feldwerts. * Define:script -- C#-Skript mit Argumenten (JObject-Zustand, Feld<JObject-Feld> ) zur dynamischen Definition eines Körpers. * Before:[confirm|message, ...] -- Nachrichten oder Bestätigungen vor dem enthaltenden Feld. * After:[confirm|message, ...] -- Nachrichten oder Bestätigungen nach dem enthaltenden Feld. * {Confirm:script|[string, ...], ...templateArgs} -- Mit Vorher/Nachher wird eine Bestätigung entweder durch ein C#-Skript mit Argument (JObject-Zustand) oder durch eine Menge von Mustern definiert, die zufällig mit optionalen Vorlagenargumenten ausgewählt werden. * {Message:script|[string, ...] ...templateArgs} -- Mit Vorher/Nachher definieren Sie eine Nachricht entweder durch ein C#-Skript mit Argument (JObject-Zustand) oder durch eine Menge von Mustern, die zufällig mit optionalen Template-Argumenten ausgewählt werden. * Dependencies:[Schnur, ...]-- Fields that this field, message or confirm depends on.</p><p>Scripts can be any C# code you would find in a method body. You can add references through "References" and using through "Imports". Special global variables include: *Choice-Zustand-- JObject form state bound for all scripts. *-- internal dispatch for script to execute. *ifield -- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1",> um das Schließen über das aktuelle Feld für alle Skripte außer %Message/Confirm Prompt-Builder zu ermöglichen. * value -- Objektwert, der für Validieren validiert werden soll. * field -- Field<T> um eine dynamische Aktualisierung eines Feldes in Define zu ermöglichen. * context -- IDialogContext Kontext, um das Posten von Ergebnissen in OnCompletion zu ermöglichen.

    %Fields durch diese Klasse definiert sind, haben die gleiche Fähigkeit, die Definitionen programmatisch zu erweitern oder zu überschreiben wie jedes andere Feld. Sie können auch auf die gleiche Weise lokalisiert werden.

Konstruktoren

Name Beschreibung
FormBuilderJson(JObject)

Erstellen Sie einen JSON-Formular-Builder.

Felder

Name Beschreibung
_form

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)

Eigenschaften

Name Beschreibung
Configuration

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Schema

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Methoden

Name Beschreibung
AddRemainingFields(IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Build(Assembly, String)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Confirm(String, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Field(IField<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
HasField(String)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Message(String, ActiveDelegate<T>, IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
OnCompletion(OnCompletionAsyncDelegate<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)
Prompter(PromptAsyncDelegate<T>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen per JSON-Schema oder programmatisch spezifizieren.

(Geerbt von FormBuilderBase<T>)

Gilt für: