FormBuilderJson Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente.
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)
- Herança
Comentários
Defina um formulário por meio do esquema JSON com anotações adicionais opcionais que correspondem aos atributos fornecidos para C#.
%FormFlow usa várias palavras-chave de esquema JSON padrão:
-
type
-- Define o tipo de campos. *enum
-- Define os valores de campo possíveis. *minimum
-- Define o valor mínimo permitido conforme descrito em NumericAttribute. *maximum
-- define o valor máximo permitido conforme descrito em NumericAttribute. *required
-- Define quais campos são necessários. *pattern
-- Para campos de cadeia de caracteres será usado para validar o padrão inserido, conforme descrito em PatternAttribute.Modelos e prompts usam o mesmo vocabulário que TemplateAttribute e PromptAttribute. Os nomes de propriedade são os mesmos e os valores são os mesmos da enumeração C# subjacente. Por exemplo, para definir um modelo para substituir o NotUnderstood modelo e especificar um TemplateBaseAttribute.ChoiceStyle, você colocaria isso em seu esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensões definidas na raiz do esquema *
OnCompletion: script
-- script C# com argumentos (IDialogContext contexto, estado JObject) para concluir o formulário. *References: [assemblyReference, ...]
-- Definir referências a serem incluídas em scripts. Os caminhos devem ser absolutos ou relativos ao diretório atual. Por padrão, Microsoft.Bot.Builder.dll está incluído. *Imports: [import, ...]
-- Defina importações a serem incluídas em scripts com usos. Por padrão, esses namespaces estão incluídos: Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensões definidas na raiz de um esquema ou como um par da propriedade "type". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}
-- Definir modelos. *Prompt: { Patterns:[string, ...] <args>}
– Definir um prompt.%Extensões encontradas em uma descrição de propriedade como pares para a propriedade "type" de um esquema JSON. *
DateTime:bool
-- Marca um campo como sendo um campo DateTime. *Describe:string
-- Descrição de um campo, conforme descrito em DescribeAttribute. *Terms:[string,...]
-- Expressões regulares para corresponder a um valor de campo, conforme descrito em TermsAttribute. *MaxPhrase:int
-- Isso executará seus termos para GenerateTerms(String, Int32) expandi-los. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}
-- A cadeia de caracteres deve ser encontrada nos tipos "enum" e isso permite que você substitua as descrições e os termos gerados automaticamente. Se MaxPhrase for especificado, os termos serão passados por .GenerateTerms(String, Int32) *Active:script
-- Script C# com argumentos (estado JObject)->bool para testar para ver se field/message/confirm está ativo. *Validate:script
-- Script C# com argumentos (estado JObject, valor do objeto)->ValidateResult para validar um valor de campo. *Define:script
-- Script C# com argumentos (estado JObject, campo Campo<JObject> ) para definir dinamicamente um campo. *Before:[confirm|message, ...]
-- Mensagens ou confirmações antes do campo que contém. *After:[confirm|message, ...]
-- Mensagens ou confirmações após o campo que contém. *{Confirm:script|[string, ...], ...templateArgs}
-- Com Before/After definir uma confirmação por meio de um script C# com argumento (estado JObject) ou por meio de um conjunto de padrões que serão selecionados aleatoriamente com argumentos de modelo opcionais. *{Message:script|[string, ...] ...templateArgs}
-- Com Before/After definir uma mensagem por meio de um script C# com argumento (estado JObject) ou por meio de um conjunto de padrões que serão selecionados aleatoriamente com argumentos de modelo opcionais. *Dependencies
:[string, ...]-- 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: *
o estado-- JObject form state bound for all scripts. *
de escolha-- internal dispatch for script to execute. *
ifield-- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField
1"> para permitir o raciocínio sobre o campo atual para todos os scripts, exceto %Message/Confirm prompt builders. *value
-- valor do objeto a ser validado para Validar. *field
-- Field<T> para permitir a atualização dinâmica de um campo em Definir. *context
-- IDialogContext para permitir a postagem de resultados em OnCompletion.%Campos definidos por meio dessa classe têm a mesma capacidade de estender ou substituir as definições programaticamente como qualquer outro campo. Eles também podem ser localizados da mesma maneira.
Construtores
FormBuilderJson(JObject) |
Crie um construtor de formulários JSON. |
Campos
_form |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Propriedades
Configuration |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Schema |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Métodos
AddRemainingFields(IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Build(Assembly, String) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Field(IField<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. |
Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
HasField(String) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
OnCompletion(OnCompletionAsyncDelegate<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |
Prompter(PromptAsyncDelegate<T>) |
Crie um formulário especificando mensagens, campos e confirmações por meio do Esquema JSON ou programaticamente. (Herdado de FormBuilderBase<T>) |