FormBuilderJson Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch.
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)
- Overname
Opmerkingen
Definieer een formulier via een JSON Schema met optionele extra annotaties die overeenkomen met de attributen die voor C# worden geleverd.
%FormFlow gebruikmaakt van een aantal standaard JSON Schema-sleutelwoorden zijn onder andere:
-
type-- Definieert het veldtype. *enum-- Definieert de mogelijke veldwaarden. *minimum-- Definieert de minimaal toegestane waarde zoals beschreven in NumericAttribute. *maximum-- Definieert de maximaal toegestane waarde zoals beschreven in NumericAttribute. *required-- Definieert welke velden vereist zijn. *pattern-- Voor stringvelden worden gebruikt om het ingevoerde patroon te valideren zoals beschreven in PatternAttribute.Sjablonen en prompts gebruiken dezelfde woordenschat als TemplateAttribute en PromptAttribute. De eigenschapsnamen zijn hetzelfde en de waarden zijn hetzelfde als die in de onderliggende C#-enumeratie. Om bijvoorbeeld een sjabloon te definiëren dat het NotUnderstood sjabloon overschrijft en een TemplateBaseAttribute.ChoiceStyle specificeert, voeg je dit in je schema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensions gedefinieerd aan de wortel van het schema *
OnCompletion: script-- C#-script met argumenten (IDialogContext context, JObject-toestand) voor het voltooien van het form. *References: [assemblyReference, ...]-- Definieer referenties om in scripts op te nemen. Paden moeten absoluut zijn, of relatief ten opzichte van de huidige directory. Standaard is Microsoft.Bot.Builder.dll inbegrepen. *Imports: [import, ...]-- Definieer importen om op te nemen in scripts met uses. Standaard zijn deze naamruimtes inbegrepen: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions gedefinieerd aan de wortel van een schema of als een peer van de eigenschap "type". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}-- Definieer sjablonen. *Prompt: { Patterns:[string, ...] <args>}-- Definieer een prompt.%Extensions die in een eigenschapsbeschrijving worden gevonden als peers van de "type"-eigenschap van een JSON-schema. *
DateTime:bool-- Markeert een veld als een DateTime-veld. *Describe:string-- Beschrijving van een veld zoals beschreven in DescribeAttribute. *Terms:[string,...]-- Reguliere expressies voor het matchen van een veldwaarde zoals beschreven in TermsAttribute. *MaxPhrase:int-- Dit zal je voorwaarden doorlopen GenerateTerms(String, Int32) om ze uit te breiden. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}-- De string moet gevonden worden in de types "enum" en dit stelt je in staat om de automatisch gegenereerde beschrijvingen en termen te overschrijven. Als MaxPhrase is gespecificeerd, worden de termen doorgegeven door GenerateTerms(String, Int32). *Active:script-- C#-script met argumenten (JObject-status)->bool om te testen of veld/bericht/bevestig actief is. *Validate:script-- C#-script met argumenten (JObject-status, objectwaarde)->ValidateResult voor het valideren van een veldwaarde. *Define:script-- C#-script met argumenten (JObject-toestand, veld<JObject-veld> ) voor het dynamisch definiëren van een veld. *Before:[confirm|message, ...]-- Berichten of bevestigingen vóór het bevattende veld. *After:[confirm|message, ...]-- Berichten of bevestigingen na het bevattende veld. *{Confirm:script|[string, ...], ...templateArgs}-- Definieer met Before/After een bevestiging via ofwel een C#-script met argument (JObject-toestand) of via een set patronen die willekeurig worden geselecteerd met optionele template-argumenten. *{Message:script|[string, ...] ...templateArgs}-- Definieer met Before/After een bericht via ofwel een C#-script met argument (JObject-toestand) of via een set patronen die willekeurig worden geselecteerd met optionele template-argumenten. *Dependencies:[snaar, ...]-- 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: *keuzestaat-- internal dispatch for script to execute. *-- JObject form state bound for all scripts. *ifield-- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1"> om redeneren over het huidige veld voor alle scripts behalve %Message/Confirm prompt builders mogelijk te maken. *value-- objectwaarde die gevalideerd moet worden voor Validate. *field-- Field<T> om dynamisch een veld in Define bij te werken. *context-- IDialogContext context om plaatsresultaten in OnCompletion mogelijk te maken.%Fields gedefinieerd via deze klasse hebben dezelfde mogelijkheid om de definities programmatisch uit te breiden of te overschrijven als elk ander vakgebied. Ze kunnen ook op dezelfde manier gelokaliseerd worden.
Constructors
| Name | Description |
|---|---|
| FormBuilderJson(JObject) |
Maak een JSON-formulierbouwer. |
Velden
| Name | Description |
|---|---|
| _form |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
Eigenschappen
| Name | Description |
|---|---|
| Configuration |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Schema |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
Methoden
| Name | Description |
|---|---|
| AddRemainingFields(IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
| Build(Assembly, String) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
| Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Field(IField<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
| Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
| Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. |
| Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| HasField(String) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| OnCompletion(OnCompletionAsyncDelegate<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |
| Prompter(PromptAsyncDelegate<T>) |
Bouw een formulier door berichten, velden en bevestigingen te specificeren via JSON Schema of programmatisch. (Overgenomen van FormBuilderBase<T>) |