FormBuilderJson Klasse

Definition

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Definieren Sie ein Formular über das JSON-Schema mit optionalen zusätzlichen Anmerkungen, die den für C# bereitgestellten Attributen entsprechen.

%FormFlow verwendet eine Reihe von JSON-Standardschlüsselwörtern, darunter:

  • type – Definiert den Feldtyp. * enum – Definiert die möglichen Feldwerte. * minimum – Definiert den minimal zulässigen Wert, wie in NumericAttributebeschrieben. * maximum – Definiert den maximal zulässigen Wert, wie in NumericAttributebeschrieben. * required – Definiert, welche Felder erforderlich sind. * pattern – Für Zeichenfolgenfelder werden verwendet, um das eingegebene Muster zu überprüfen, wie in PatternAttributebeschrieben.

    Vorlagen und Eingabeaufforderungen verwenden dasselbe Vokabular wie TemplateAttribute und PromptAttribute. Die Eigenschaftennamen sind identisch, und die Werte sind mit denen in der zugrunde liegenden C#-Enumeration identisch. Um beispielsweise eine Vorlage zum Überschreiben der NotUnderstood Vorlage zu definieren und ein TemplateBaseAttribute.ChoiceStyle anzugeben, fügen Sie dies in Ihr Schema ein: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~ ~ ~ ~ ~ ~ ~ ~ ~ ~

    %Erweiterungen definiert am Stamm des Schemas * OnCompletion: script - C#-Skript mit Argumenten (IDialogContext Kontext, JObject-Zustand) zum Ausfüllen des Formulars. * References: [assemblyReference, ...] – Definieren Sie Verweise, die in Skripts eingeschlossen werden sollen. Pfade sollten absolut oder relativ zum aktuellen Verzeichnis sein. Standardmäßig ist Microsoft.Bot.Builder.dll enthalten. * Imports: [import, ...] – Definieren Sie Importe, die in Skripts mit usings eingeschlossen werden sollen. Standardmäßig sind diese Namespaces enthalten: Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq

    %Erweiterungen, die am Stamm eines Schemas oder als Peer der Eigenschaft "type" definiert sind. * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} –- Definieren von Vorlagen. * Prompt: { Patterns:[string, ...] &lt;args&gt;} – Definieren Sie eine Eingabeaufforderung.

    %Erweiterungen, die in einer Eigenschaftenbeschreibung als Peers zur Eigenschaft "type" eines JSON-Schemas gefunden werden. * DateTime:bool – Markiert ein Feld als DateTime-Feld. * Describe:string - Beschreibung eines Felds wie in DescribeAttributebeschrieben. * Terms:[string,...] – Reguläre Ausdrücke zum Abgleichen eines Feldwerts, wie in TermsAttributebeschrieben. * MaxPhrase:int - Dadurch werden Ihre Begriffe durch GenerateTerms(String, Int32) geführt, um sie zu erweitern. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- Die Zeichenfolge muss in den Typen "Aufzählung" gefunden werden, sodass Sie die automatisch generierten Beschreibungen und Begriffe überschreiben können. Wenn MaxPhrase angegeben ist, werden die Begriffe über GenerateTerms(String, Int32)übergeben. * 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 zum Überprüfen eines Feldwerts. * Define:script -- C#-Skript mit Argumenten (JObject-Zustand, Feld<JObject-Feld> ) zum dynamischen Definieren eines Felds. * 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} – Definieren Sie mit Before/After eine Bestätigung durch ein C#-Skript mit Argument (JObject-Zustand) oder über eine Gruppe von Mustern, die zufällig mit optionalen Vorlagenargumenten ausgewählt werden. * {Message:script|[string, ...] ...templateArgs} – Definieren Sie mit Before/After eine Nachricht entweder über ein C#-Skript mit Argument (JObject-Zustand) oder über eine Reihe von Mustern, die zufällig mit optionalen Vorlagenargumenten ausgewählt werden. * Dependencies:[Zeichenfolge, ...]-- 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: *Wählen Sie-- internal dispatch for script to execute. *den Status-- JObject form state bound for all scripts. *ifield -- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1"> aus, um die Begründung über das aktuelle Feld für alle Skripts mit Ausnahme von %Message/Confirm Prompt Builders zuzulassen. * value - Objektwert, der für Validate überprüft werden soll. * field -- Field<T> , um das dynamische Aktualisieren eines Felds in Define zuzulassen. * context -- IDialogContext kontext, um das Posten von Ergebnissen in OnCompletion zuzulassen.

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

Konstruktoren

FormBuilderJson(JObject)

Erstellen Sie einen JSON-Formular-Generator.

Felder

_form

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

(Geerbt von FormBuilderBase<T>)

Eigenschaften

Configuration

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

(Geerbt von FormBuilderBase<T>)
Schema

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

Methoden

AddRemainingFields(IEnumerable<String>)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

Build(Assembly, String)

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

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

Erstellen Sie ein Formular, indem Sie Nachrichten, Felder und Bestätigungen über das JSON-Schema oder programmgesteuert angeben.

(Geerbt von FormBuilderBase<T>)

Gilt für: