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í.
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación.
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
Defina un formulario mediante esquema JSON con anotaciones adicionales opcionales que corresponden a los atributos proporcionados para C#.
%FormFlow usa varias palabras clave de esquema JSON estándar:
-
type
-- Define el tipo de campos. *enum
-- Define los valores de campo posibles. *minimum
-- Define el valor mínimo permitido tal y como se describe en NumericAttribute. *maximum
-- Define el valor máximo permitido como se describe en NumericAttribute. *required
-- Define qué campos son obligatorios. *pattern
-- En el caso de los campos de cadena, se usará para validar el patrón especificado, tal y como se describe en PatternAttribute.Las plantillas y los mensajes usan el mismo vocabulario que TemplateAttribute y PromptAttribute. Los nombres de propiedad son los mismos y los valores son los mismos que los de la enumeración de C# subyacente. Por ejemplo, para definir una plantilla para invalidar la NotUnderstood plantilla y especificar templateBaseAttribute.ChoiceStyle, lo colocaría en el esquema: ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~
%Extensions definidas en la raíz del esquema *
OnCompletion: script
- Script de C# con argumentos (IDialogContext contexto, estado JObject) para completar el formulario. *References: [assemblyReference, ...]
-- Defina referencias para incluir en scripts. Las rutas de acceso deben ser absolutas o relativas al directorio actual. De forma predeterminada, se incluye Microsoft.Bot.Builder.dll. *Imports: [import, ...]
-- Defina las importaciones que se van a incluir en scripts con usings. De forma predeterminada, estos espacios de nombres se incluyen: Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq%Extensions definidas en la raíz de un esquema o como un elemento del mismo nivel de la propiedad "type". *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}
-- Definir plantillas. *Prompt: { Patterns:[string, ...] <args>}
-- Defina un símbolo del sistema.%Extensiones que se encuentran en una descripción de propiedad como del mismo nivel a la propiedad "type" de un esquema JSON. *
DateTime:bool
-- Marca un campo como un campo DateTime. *Describe:string
-- Descripción de un campo tal como se describe en DescribeAttribute. *Terms:[string,...]
-- Expresiones regulares para buscar coincidencias con un valor de campo como se describe en TermsAttribute. *MaxPhrase:int
-- Esto ejecutará los términos a través GenerateTerms(String, Int32) de para expandirlos. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}
-- La cadena debe encontrarse en los tipos "enum" y esto le permite invalidar las descripciones y términos generados automáticamente. Si se especifica MaxPhrase, los términos se pasan a través de GenerateTerms(String, Int32). *Active:script
-- Script de C# con argumentos (estado JObject)->bool para comprobar si el campo/mensaje/confirmar está activo. *Validate:script
-- Script de C# con argumentos (estado JObject, valor de objeto):> ValidateResult para validar un valor de campo. *Define:script
-- Script de C# con argumentos (estado JObject, Campo<JObject> 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 Before/After, defina una confirmación a través de un script de C# con argumento (estado JObject) o a través de un conjunto de patrones que se seleccionarán aleatoriamente con argumentos de plantilla opcionales. *{Message:script|[string, ...] ...templateArgs}
-- Con Before/After define un mensaje a través de un script de C# con argumento (estado JObject) o a través de un conjunto de patrones que se seleccionarán aleatoriamente con argumentos de plantilla opcionales. *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: *
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.IField
1"> para permitir el razonamiento sobre el campo actual para todos los scripts excepto %Message/Confirm prompt builders. *value
-- valor de objeto que se va a validar para Validate. *field
-- Field<T> para permitir la actualización dinámica de un campo en Definir. *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 invalidar las definiciones mediante programación como cualquier otro campo. También se pueden localizar de la misma manera.
Constructores
FormBuilderJson(JObject) |
Cree un generador de formularios JSON. |
Campos
_form |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Propiedades
Configuration |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Schema |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Métodos
AddRemainingFields(IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Build(Assembly, String) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Confirm(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Confirm(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Confirm(String, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Field(IField<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Field(String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Field(String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Field(String, PromptAttribute, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Field(String, PromptAttribute, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Field(String, String, ActiveDelegate<JObject>, ValidateAsyncDelegate<JObject>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. |
Field(String, String, ActiveDelegate<T>, ValidateAsyncDelegate<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
HasField(String) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Message(MessageDelegate<T>, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Message(PromptAttribute, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Message(String, ActiveDelegate<T>, IEnumerable<String>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
OnCompletion(OnCompletionAsyncDelegate<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |
Prompter(PromptAsyncDelegate<T>) |
Cree un formulario especificando mensajes, campos y confirmaciones a través del esquema JSON o mediante programación. (Heredado de FormBuilderBase<T>) |