작성

유효성 검증 규칙 세트 작성에는 다음 단계가 포함됩니다.

규칙 세트 정의

"추가 유효성 검증" 섹션에서 지정된 규칙 세트가 없는 경우, 동적 증거 인프라는 "스타터" 규칙 세트를 생성합니다. 생성된 스타터 규칙 세트에는 유효성 검증 규칙 세트 계약 절에서 설명한 "증거" 속성과 기본 규칙 클래스가 있는 "ValidationResult"라는 클래스가 있으며 동적 증거 유효성 검증 카테고리와 연관됩니다.

때때로 기존 규칙 세트가 유효성 검증에 사용할 규칙 세트로 지정됩니다. 일반적으로, 새 동적 증거 유형 버전이 작성되고 이전 동적 증거 유형 버전에 이미 유효성 검증에 대해 지정된 규칙 세트가 있는 경우에 발생합니다. 기존 규칙 세트가 사용되는 경우 유효성 검증 규칙 세트 계약을 따라야 합니다. 기존 유효성 검증 규칙 세트가 수정된 경우, 변경사항은 이 규칙 세트를 사용해온 모든 동적 증거 유형 버전에 표시됩니다.

유효성 검증 세트 정의

DefaultEvidenceValidationResult 규칙 클래스에 대한 절에서 설명한 것처럼, 이 규칙 클래스에는 여러 유효성 검증 세트에 해당하는 속성이 있습니다. 이러한 모든 속성에는 널 값이 있으며, 이는 기본적으로 유효성 검증 세트에 유효성 검증이 정의되지 않음을 의미합니다. 특정 동적 증거 유형의 경우 유효성 검증 세트 중 일부 또는 모두가 필요할 수 있습니다. 예: 한 동적 증거 유형 버전에는 "detailsValidations"와 "standardValidations"만 필요할 수 있습니다. 따라서 유효성 검증 세트에 해당하는 속성을 다시 정의해야 합니다. 일반적으로 CER 고정 목록을 사용하여 유효성 검증 목록을 한 세트로 작성합니다.

유효성 검증 정의

일반적으로 유효성 검증은 케이스 증거 레코드 또는 관련 케이스 증거 레코드의 데이터를 참조합니다. 이것이 유효성 검증 규칙 세트에 대한 계약에 "evidence"라는 속성이 있어야 하는 이유입니다. 이 속성은 규칙 세트를 호출할 때마다 해당 케이스 증거 인스턴스의 데이터로 채워집니다.

유효성 검증은 CER 작성 표현식을 사용하여 정의할 수 있습니다. 유효성 검증 규칙 클래스에 대해 호출되는 경우, 작성 표현식에는 isFailure 속성과 failureMessage 속성에 대한 파생이 지정되어야 합니다.

isFailure 속성에 대한 파생은 부울 값을 생성해야 합니다. 예를 들어, 동적 증거 유형에 "startDate"와 "endDate"의 두 속성이 있으며 유효성 검증을 통해 "startDate"와 "endDate"가 같지 않음을 확인해야 합니다. 이 유효성 검증의 isFailure 속성에 대한 파생은 "startDate"와 "endDate" 속성을 비교하는 CER 비교 표현식을 사용할 수 있습니다. 비교 표현식은 유효성 검증 규칙 클래스의 "evidence" 속성에 대한 참조 표현식을 사용하여 이러한 두 속성의 값을 확보합니다.

failureMessage 속성에 대한 파생은 curam.creole.value.Message 유형의 값을 생성해야 합니다. 이에 대해 파생은 XML 메시지 또는 자원 메시지 표현식을 사용할 수 있습니다. 다시 한 번 메시지는 케이스 증거 레코드의 데이터로 매개변수화되고 필수 속성에는 참조 표현식을 사용하여 유효성 검증 규칙 클래스의 "evidence" 속성을 통해 액세스할 수 있습니다.

선택적으로 유효성 검증의 "informationalType"에 값을 지정할 수 있습니다. 값이 지정되지 않으면 정보 유형은 오류로 간주됩니다. 그러나 curam.dynamicevidence.validation.impl.InformationalType에서 정적 조작(error() , warning(), fatalError())을 사용하여 다른 정보 유형을 지정할 수 있습니다.

일반적으로 정보 유형은 유효성 검증 모드에 종속됩니다. 특정 유효성 검증 세션의 유효성 검증 모드에는 유효성 검증 결과 규칙 클래스의 "validationMode" 속성을 통해 액세스할 수 있습니다. 그런 다음 curam.dynamicevidence.validation.impl.ValidationMode에 정의된 정적 조작(applyChanges(), approve(), insert(), modify(), validateChanges())을 사용하여 유효성 검증 모드를 하나 이상의 유효성 검증 모드와 비교하여 사용할 정보 유형을 판별할 수 있습니다. 예를 들어, 유효성 검증 세션의 유효성 검증 모드를 "변경사항 적용" 및 "변경사항 유효성 검증"과 비교할 수 있으며 정보 유형은 전자가 오류로 지정되고 후자의 경우 경고로 지정될 수 있습니다.