검증 클래스

검증 클래스를 사용하면 여러 유형의 비즈니스 규칙을 적용할 수 있습니다. 다른 클래스는 특정 목적에 사용되지만 일부 검증 클래스는 일반적으로 사용할 수 있습니다. 기존 검증 클래스 세트에서 검증을 생성할 수 있습니다. 노드의 많은 비즈니스 규칙은 해당 논리에 대한 쿼리를 사용하는 검증 클래스로 적용할 수 있습니다. 이렇게 하면 검증에서 분석 목적으로 생성된 쿼리를 사용하여 데이터 무결성도 관리할 수 있습니다. 다른 검증 규칙을 사용하여 버전 및 계층 구조에 대한 규칙 또는 노드에 대한 특별한 경우를 처리할 수 있습니다. 몇몇 검증 클래스는 제품 테스트 목적으로만 사용되며 프로덕션 환경에서는 사용하면 안 됩니다.

표 10-1 검증 클래스

검증 클래스 레벨 설명 매개변수

BoolNodeInHier

Node

지정된 계층의 지정된 부울 등록정보에 True 값이 없는지 확인합니다.

등록정보, 계층

ContainAllProp

글로벌 노드

지정된 계층에 지정된 등록정보가 True인 모든 노드가 포함되어 있는지 확인합니다.

계층, 등록정보

ContainAllWith

글로벌 노드

지정된 계층에 지정된 등록정보가 지정된 값을 가진 모든 노드가 포함되어 있는지 확인합니다.

계층, 등록정보, 값

CustPropQuery

Node

사전 정의된 쿼리와 예상 결과를 사용하여 확인합니다.

로컬 등록정보 쿼리만 사용할 수 있습니다.

등록정보 쿼리 이름, 실패 값

DateRangeCheck

Node

시작 날짜가 종료 날짜보다 이전이거나 같은지 확인합니다.

시작 날짜 등록정보, 종료 날짜 등록정보

공식

Node

비즈니스 논리를 사용한 노드가 공식에 표현되었는지 확인합니다. 공식 결과가 False이면 검증에 실패합니다.

공식

GlobalPropQuery

글로벌 노드

사전 정의된 쿼리와 예상 결과를 사용하여 확인합니다.

등록정보 쿼리 이름, 실패 값

HierContainsRef

Node

부울 등록정보가 True이거나 노드가 리프 노드이고 세 번째 부울 등록정보가 True인 경우 계층에 노드에 대한 참조가 포함됩니다.

계층 이름, 모든 노드에 대한 부울 등록정보, 리프 노드에 대한 부울 등록정보

HierFail

계층

테스트 목적으로 계층 레벨에서 자동으로 실패합니다.

없음

InvalidNameLength

Node

노드 이름이 지정된 길이와 같지 않은지 확인합니다.

Length

MaxChildren

Version

노드당 하위 멤버 수가 지정된 제한을 초과하지 않는지 확인합니다.

최대 하위 멤버 수

MaxHierNodes

계층

계층의 노드 수가 지정된 제한을 초과하지 않는지 확인합니다.

최대 노드 수

MaxVersionNodes

Version

버전의 노드 수가 지정된 제한을 초과하지 않는지 확인합니다.

최대 노드 수

MergeEquiv

병합

영향을 받는 노드와 병합 노드에서 지정된 등록정보의 값이 같은지 확인합니다.

글로벌 노드 등록정보

MergePropSet

병합

영향을 받는 노드 등록정보 값이 설정된(재정의됨) 경우 지정된 등록정보에 대해 병합 노드 등록정보 값이 설정되었는지 확인합니다(등록정보 값이 동일할 필요 없음).

Property

MixedKids

Node

림 및 리프 하위 멤버가 모두 포함된 노드를 확인합니다.

없음

NoBoolBranch

Node

지정된 분기에서 지정된 부울 등록정보가 한 번 이상 True로 설정되었는지 확인합니다.

Property

NodeFail

글로벌 노드

테스트 목적으로 버전 레벨의 노드에서 자동으로 실패합니다.

없음

NodeFailRandom

Node

테스트 목적으로 지정된 노드의 백분율에서 자동으로 실패합니다.

실패 백분율

NoDefaults

Node

지정된 등록정보에 기본값이 사용되지 않는지 확인합니다.

Property

NoPropBranch

Node

지정된 분기에서 지정된 등록정보가 한 번 이상 설정되었는지 확인합니다.

Property

PropEquivBool

Node

세 번째 부울 등록정보가 True인 경우 등록정보가 동일합니다.

평가할 부울 등록정보, 첫 번째 등록정보, 두 번째 등록정보

PropLength

Node

지정된 등록정보가 최소 길이 이상이고 최대 길이를 넘지 않는지 확인합니다.

등록정보, 최소 길이, 최대 길이

PropRemove

제거

지정된 등록정보(prop1, prop2 및 prop3 매개변수)가 지정된 값(value1, value2, value3 매개변수)과 같은 경우 노드가 제거되지 않도록 합니다.

Property1, Property2, Property3, Value1, Value2, Value3

RequiredField

Node

지정된 등록정보가 지정된 값을 가진 모든 노드에 대해 필수 목록의 각 등록정보에 값이 있는지 확인합니다.

  • [기본 레코드 거부] 플래그가 True인 경우 필수 목록의 각 등록정보에 기본값이 아닌 값이 있어야 합니다.

  • [기본 레코드 거부] 플래그가 False인 경우 기본값이 허용됩니다.

등록정보, 값, 기본 레코드 거부, 필수 등록정보

스크립트

노드, 계층, 버전, 글로벌 노드, 이동, 제거, 병합

동적 스크립트를 사용하여 데이터를 확인합니다. 반환 값이 True이면 검증을 통과합니다. 반환 값이 False이면 검증에 실패합니다.

스크립트

SingleBoolBranch

Node

지정된 부울 등록정보가 분기당 한 번만 True로 설정되었는지 확인합니다.

Property

SinglePropBranch

Node

지정된 등록정보가 분기당 한 번만 설정되었는지 확인합니다.

Property

StrandedParent

Node

모든 림 노드에 하위 멤버가 있는지 확인합니다.

없음

StrPropEqual

Node

지정된 등록정보가 지정된 값과 같은 모든 노드에 대해 실패합니다.

등록정보, 값

UniqueProp

Node

계층 내에서 지정된 등록정보에 중복된 값이 없는지 확인합니다.

기본값 포함이 False인 경우 기본값이 있는 노드는 포함되지 않습니다.

공유 제외가 True인 경우 등록정보 값이 고유한지 확인할 때 공유 노드는 고려되지 않습니다.

등록정보, 기본값 포함, 공유 제외

UniqueProp 검증에서 인덱싱된 등록정보를 사용하는 것이 좋습니다.

UniquePropBranch

Node

분기 내에서 지정된 등록정보에 고유한 값이 있는지 확인합니다.

Property

VersionFail

Version

테스트 목적으로 버전 레벨에서 자동으로 실패합니다.

없음

VersionUnique2Prop

글로벌 노드

버전 내에서 지정된 등록정보에 중복된 값이 없는지 확인합니다.

기본값 포함이 False인 경우 기본값이 있는 노드는 포함되지 않습니다.

공유 제외가 True인 경우 등록정보 값이 고유한지 확인할 때 공유 노드는 고려되지 않습니다.

첫 번째 등록정보, 두 번째 등록정보, 기본값 포함, 공유 제외

VersionUniqueProp

글로벌 노드

버전 내에서 지정된 등록정보에 중복된 값이 없는지 확인합니다.

기본값 포함이 False인 경우 기본값이 있는 노드는 포함되지 않습니다.

공유 제외가 True인 경우 등록정보 값이 고유한지 확인할 때 공유 노드는 고려되지 않습니다.

등록정보, 기본값 포함, 공유 제외