FormBuilderJson Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente.
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)
- Herencia
Comentarios
Define un formulario mediante esquema JSON con anotaciones adicionales opcionales que correspondan a los atributos proporcionados para C#.
%FormFlow utiliza varias palabras clave estándar de esquema JSON incluyen:
-
type-- Define el tipo de campos. *enum-- Define los posibles valores de campo. *minimum-- Define el valor mínimo permitido tal como se describe en NumericAttribute. *maximum-- Define el valor máximo permitido tal como se describe en NumericAttribute. *required-- Define qué campos son necesarios. *pattern-- Para cadenas se usarán campos para validar el patrón introducido tal como se describe en PatternAttribute.Las plantillas y prompts utilizan el mismo vocabulario que TemplateAttribute y PromptAttribute. Los nombres de las propiedades son los mismos y los valores son los mismos que los de la enumeración subyacente en C#. Por ejemplo, para definir una plantilla que anule la NotUnderstood plantilla y especifique un TemplateBaseAttribute.ChoiceStyle, pondrías esto en tu esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensions definido en la raíz del esquema *
OnCompletion: script-- script C# con argumentos (IDialogContext contexto, estado JObject) para completar la forma. *References: [assemblyReference, ...]-- Definir referencias a incluir en los scripts. Los caminos deben ser absolutos, o relativos al directorio actual. Por defecto, Microsoft.Bot.Builder.dll está incluido. *Imports: [import, ...]-- Definir importaciones para incluir en scripts con uses. Por defecto, estos espacios de nombres están incluidos: Microsoft. Bot.Builder, Microsoft. Bot.Builder.Dialogs, Microsoft. Bot.Builder.FormFlow, Microsoft. Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions definido en la raíz de un esquema o como un par de la propiedad "tipo". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}-- Define plantillas. *Prompt: { Patterns:[string, ...] <args>}-- Define una indicación.%Extensions que se encuentran en una descripción de propiedad como pares de la propiedad "tipo" de un esquema JSON. *
DateTime:bool-- Marca un campo como campo de FechaHora. *Describe:string-- Descripción de un cuerpo tal como se describe en DescribeAttribute. *Terms:[string,...]-- Expresiones regulares para emparejar un valor de campo como se describe en TermsAttribute. *MaxPhrase:int-- Esto pasará tus términos GenerateTerms(String, Int32) para ampliarlos. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}-- La cadena debe encontrarse en los tipos "enum" y esto permite anular las descripciones y términos generados automáticamente. Si se especifica MaxPhrase, los términos se transmiten a GenerateTerms(String, Int32)través de . *Active:script-- script C# con argumentos (estado JObject)->bool para probar si el campo/mensaje/confirmar está activo. *Validate:script-- script C# con argumentos (estado JObject, valor del objeto)->ValidateResult para validar un valor de campo. *Define:script-- Script C# con argumentos (estado JObject,<campo JObject> de campo) para definir dinámicamente un campo. *Before:[confirm|message, ...]-- Mensajes o confirmaciones antes del campo contenedor. *After:[confirm|message, ...]-- Mensajes o confirmaciones después del campo contenedor. *{Confirm:script|[string, ...], ...templateArgs}-- Con Antes/Después define una confirmación mediante script C# con argumento (estado JObject) o mediante un conjunto de patrones que se seleccionarán aleatoriamente con argumentos plantilla opcionales. *{Message:script|[string, ...] ...templateArgs}-- Con Antes/Después define un mensaje mediante un script en C# con argumento (estado JObject) o mediante un conjunto de patrones que se seleccionarán aleatoriamente con argumentos plantilla opcionales. *Dependencies:[cuerda, ...]-- 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 razonamiento sobre el campo actual para todos los scripts excepto %Message/Confirmar los constructores de prompts. *value-- valor del objeto a validar para Validar. *field-- Field<T> para permitir la actualización dinámica de un campo en Define. *context-- IDialogContext Contexto para permitir la publicación de resultados en OnCompletion.%Fields definidos a través de esta clase tienen la misma capacidad de extender o anular las definiciones programáticamente que cualquier otro campo. También pueden localizarse de la misma manera.
Constructores
| Nombre | Description |
|---|---|
| FormBuilderJson(JObject) |
Crea un generador de formularios en JSON. |
Campos
| Nombre | Description |
|---|---|
| _form |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
Propiedades
| Nombre | Description |
|---|---|
| Configuration |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Schema |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
Métodos
| Nombre | Description |
|---|---|
| AddRemainingFields(IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
| Build(Assembly, String) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
| Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Field(IField<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
| Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
| Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. |
| Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| HasField(String) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| OnCompletion(OnCompletionAsyncDelegate<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |
| Prompter(PromptAsyncDelegate<T>) |
Construye un formulario especificando mensajes, campos y confirmaciones mediante esquema JSON o programáticamente. (Heredado de FormBuilderBase<T>) |