검증 클래스를 사용하면 여러 유형의 비즈니스 규칙을 적용할 수 있습니다. 다른 클래스는 특정 목적에 사용되지만 일부 검증 클래스는 일반적으로 사용할 수 있습니다. 기존 검증 클래스 세트에서 검증을 생성할 수 있습니다. 노드의 많은 비즈니스 규칙은 해당 논리에 대한 쿼리를 사용하는 검증 클래스로 적용할 수 있습니다. 이렇게 하면 검증에서 분석 목적으로 생성된 쿼리를 사용하여 데이터 무결성도 관리할 수 있습니다. 다른 검증 규칙을 사용하여 버전 및 계층 구조에 대한 규칙 또는 노드에 대한 특별한 경우를 처리할 수 있습니다. 몇몇 검증 클래스는 제품 테스트 목적으로만 사용되며 프로덕션 환경에서는 사용하면 안 됩니다.
표 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이면 검증에 실패합니다. |
스크립트 |
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인 경우 등록정보 값이 고유한지 확인할 때 공유 노드는 고려되지 않습니다. |
등록정보, 기본값 포함, 공유 제외 |