FormBuilderJson 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다.
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)
- 상속
설명
C#에 제공된 특성에 해당하는 선택적 추가 주석을 사용하여 JSON 스키마 를 통해 양식을 정의합니다.
%FormFlow는 다음과 같은 여러 표준 JSON 스키마 키워드를 사용합니다.
-
type
-- 필드 형식을 정의합니다. *enum
-- 가능한 필드 값을 정의합니다. *minimum
-- 에 설명된 대로 허용되는 최소 값을 정의합니다 NumericAttribute. *maximum
-- 에 설명된 대로 허용되는 최대 값을 정의합니다 NumericAttribute. *required
-- 필요한 필드를 정의합니다. *pattern
-- 문자열 필드의 경우 에 설명 PatternAttribute된 대로 입력된 패턴의 유효성을 검사하는 데 사용됩니다.템플릿 및 프롬프트는 및 과 PromptAttribute동일한 어휘를 TemplateAttribute 사용합니다. 속성 이름은 동일하며 값은 기본 C# 열거형의 값과 동일합니다. 예를 들어 템플릿을 재정 NotUnderstood 의하고 TemplateBaseAttribute.ChoiceStyle을 지정하는 템플릿을 정의하려면 ~~~ "Templates":{ "NotUnderstood": { Patterns: ["I don't get it"], "ChoiceStyle":"Auto"}} ~~~ 스키마에 넣습니다.
스키마의 루트에 정의된 %확장 *
OnCompletion: script
-- 형식을 완료하기 위한 인수(IDialogContext 컨텍스트, JObject 상태)가 있는 C# 스크립트입니다. *References: [assemblyReference, ...]
-- 스크립트에 포함할 참조를 정의합니다. 경로는 절대 경로이거나 현재 디렉터리를 기준으로 해야 합니다. 기본적으로 Microsoft.Bot.Builder.dll 포함됩니다. *Imports: [import, ...]
-- using를 사용하여 스크립트에 포함할 가져오기를 정의합니다. 기본적으로 Microsoft.Bot.Builder, Microsoft.Bot.Builder.Dialogs, Microsoft.Bot.Builder.FormFlow, Microsoft.Bot.Builder.FormFlow.Advanced, System.Collections.Generic, System.Linq 네임스페이스가 포함됩니다.스키마의 루트 또는 "type" 속성의 피어로 정의된 %Extensions입니다. *
Templates:{TemplateUsage: { Patterns:[string, ...], <args> }, ...}
-- 템플릿을 정의합니다. *Prompt: { Patterns:[string, ...] <args>}
-- 프롬프트를 정의합니다.속성 설명에서 JSON 스키마의 "type" 속성에 피어로 있는 %Extensions입니다. *
DateTime:bool
-- 필드를 DateTime 필드로 표시합니다. *Describe:string
-- 에 설명된 대로 필드에 대한 설명입니다 DescribeAttribute. *Terms:[string,...]
-- 에 설명된 TermsAttribute대로 필드 값과 일치하기 위한 정규식입니다. *MaxPhrase:int
-- 이를 통해 GenerateTerms(String, Int32) 용어를 실행하여 확장합니다. *Values:{ string: {Describe:string, Terms:[string, ...], MaxPhrase}, ...}
-- 문자열은 "열거형" 형식에 있어야 하며, 이렇게 하면 자동으로 생성된 설명과 용어를 재정의할 수 있습니다. MaxPhrase가 지정된 경우 용어는 를 통해 GenerateTerms(String, Int32)전달됩니다. *Active:script
-- 필드/메시지/확인이 활성 상태인지 확인하기 위해 테스트할 인수가 있는 C# 스크립트(JObject 상태)->bool입니다. *Validate:script
-- 인수가 있는 C# 스크립트(JObject 상태, 개체 값)->필드 값의 유효성을 검사하기 위한 ValidateResult입니다. *Define:script
-- 필드를 동적으로 정의하기 위한 인수(JObject 상태, 필드<JObject> 필드)가 있는 C# 스크립트입니다. *Before:[confirm|message, ...]
-- 포함된 필드 앞의 메시지 또는 확인입니다. *After:[confirm|message, ...]
-- 포함된 필드 뒤의 메시지 또는 확인 *{Confirm:script|[string, ...], ...templateArgs}
-- 이전/이후에서는 인수가 있는 C# 스크립트(JObject 상태) 또는 선택적 템플릿 인수를 사용하여 임의로 선택되는 패턴 집합을 통해 확인을 정의합니다. *{Message:script|[string, ...] ...templateArgs}
-- 이전/이후에서는 인수가 있는 C# 스크립트(JObject 상태) 또는 선택적 템플릿 인수를 사용하여 임의로 선택되는 패턴 집합을 통해 메시지를 정의합니다. *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: *
%Message/확인 프롬프트 작성기를 제외한 모든 스크립트에 대해 현재 필드에 대한 추론을 허용하려면 선택-- internal dispatch for script to execute. *
상태-- JObject form state bound for all scripts. *
ifield-- <xref data-throw-if-not-resolved="true" uid="Microsoft.Bot.Builder.FormFlow.Advanced.IField
1"> 을 선택합니다. *value
-- 유효성 검사에 대해 유효성을 검사할 개체 값입니다. *field
-- Field<T> 정의에서 필드를 동적으로 업데이트할 수 있도록 합니다. *context
-- IDialogContext OnCompletion에서 결과를 게시할 수 있도록 하는 컨텍스트입니다.이 클래스를 통해 정의된 %Fields는 다른 필드와 프로그래밍 방식으로 정의를 확장하거나 재정의하는 동일한 기능을 갖습니다. 또한 같은 방식으로 지역화할 수 있습니다.
생성자
FormBuilderJson(JObject) |
JSON 양식 작성기 만들기 |
필드
_form |
JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다. (다음에서 상속됨 FormBuilderBase<T>) |
속성
Configuration |
JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다. (다음에서 상속됨 FormBuilderBase<T>) |
Schema |
JSON 스키마를 통해 또는 프로그래밍 방식으로 메시지, 필드 및 확인을 지정하여 양식을 작성합니다. |