Compartir a través de


FormBuilderJson Clase

Definición

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
FormBuilderBase<Newtonsoft.Json.Linq.JObject>
FormBuilderJson

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, ...], &lt;args&gt; }, ...} -- Definir plantillas. * Prompt: { Patterns:[string, ...] &lt;args&gt;} -- 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.IField1"> 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>)

Se aplica a