Partilhar via


FormBuilderJson Classe

Definição

Crie um formulário ao especificar mensagens, campos e confirmações através 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
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

Observações

Defina um formulário através do Esquema JSON com anotações adicionais opcionais que correspondam aos atributos fornecidos para C#.

%FormFlow utiliza várias palavras-chave padrão do Esquema JSON :

  • 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 os campos necessários. * pattern -- Para campos de cadeia será utilizado para validar o padrão introduzido, conforme descrito em PatternAttribute.

    Os modelos e pedidos utilizam o mesmo vocabulário que TemplateAttribute e PromptAttribute. Os nomes das propriedades são os mesmos e os valores são os mesmos que os da enumeração C# subjacente. Por exemplo, para definir um modelo para substituir o NotUnderstood modelo e especificar um TemplateBaseAttribute.ChoiceStyle, colocaria isto no seu esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~

    %Extensions defined at the root fo the schema * OnCompletion: script -- C# script with arguments (IDialogContext context, JObject state) for completeing form. * References: [assemblyReference, ...] -- Definir referências a incluir em scripts. Os caminhos devem ser absolutos ou relativos ao diretório atual. Por predefinição, Microsoft.Bot.Builder.dll está incluída. * Imports: [import, ...] -- Defina as importações a incluir em scripts com utilizações. Por predefinição, estes espaços de nomes 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 elemento da propriedade "type". * Templates:{TemplateUsage: { Patterns:[string, ...], &lt;args&gt; }, ...} -- Definir modelos. * Prompt: { Patterns:[string, ...] &lt;args&gt;} - Defina um pedido.

    %Extensions that are found in a property description as peers to the "type" property of a JSON Schema. * 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 um valor de campo, conforme descrito em TermsAttribute. * MaxPhrase:int -- Esta ação irá executar os seus termos GenerateTerms(String, Int32) para os expandir. * Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...} -- A cadeia tem de ser encontrada nos tipos "enum" e isto permite-lhe substituir as descrições e termos gerados automaticamente. Se MaxPhrase for especificado, os termos são transmitidos através de GenerateTerms(String, Int32). * Active:script -- Script C# com argumentos (estado JObject)->bool para testar para ver se o campo/mensagem/confirmação 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<JObject> campo) para definir dinamicamente um campo. * Before:[confirm|message, ...] -- Mensagens ou confirmações antes do campo de contenção. * After:[confirm|message, ...] -- Mensagens ou confirmações após o campo de contenção. * {Confirm:script|[string, ...], ...templateArgs} -- Com Antes/Depois de definir uma confirmação através do script C# com argumento (estado JObject) ou através de um conjunto de padrões que serão selecionados aleatoriamente com argumentos de modelo opcionais. * {Message:script|[string, ...] ...templateArgs} -- Com Antes/Depois de definir uma mensagem através do script C# com argumento (estado JObject) ou através de um conjunto de padrões que serão selecionados aleatoriamente com argumentos de modelo opcionais. * Dependencies:[cadeia, ...]-- 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-- internal dispatch for script to execute. *state-- JObject form state bound for all scripts. *ifield -- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField1"> para permitir o raciocínio sobre o campo atual para todos os scripts, exceto %Message/Confirmar construtores de pedidos. * value -- valor do objeto a validar para Validar. * field -- Field<T> para permitir a atualização dinâmica de um campo em Definir. * context -- IDialogContext para permitir a publicação de resultados em OnCompletion.

    %Os campos definidos através desta classe têm a mesma capacidade de expandir ou substituir as definições programaticamente como qualquer outro campo. Também podem ser localizados da mesma forma.

Construtores

FormBuilderJson(JObject)

Crie um construtor de formulários JSON.

Campos

_form

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)

Propriedades

Configuration

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Schema

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

Métodos

AddRemainingFields(IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

Build(Assembly, String)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

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

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Confirm(String, ActiveDelegate<T>, IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Field(IField<T>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

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

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

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

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

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

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
HasField(String)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Message(String, ActiveDelegate<T>, IEnumerable<String>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
OnCompletion(OnCompletionAsyncDelegate<T>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)
Prompter(PromptAsyncDelegate<T>)

Crie um formulário ao especificar mensagens, campos e confirmações através do Esquema JSON ou programaticamente.

(Herdado de FormBuilderBase<T>)

Aplica-se a