Constraint
저장할 Data의 중복 여부 또는 정합성을 검증한다.
- How-To
[그림1. Constraint 기본 설정화면]
- Constraint는 주로 Button을 Click 하거나 터치하는 경우, 즉 사용자가 입력하는 Event에 대하여 설정한다.
- 중복 또는 정합성을 확인한 결과를 전달받기 위하여 Type은 Property, Target은 Control로 설정한다.
- Constraint Action에서 선택한 Control Property는 중복 또는 정합성을 검증할 Control의 Property를 설정한다.
[그림2. Control Property로 선언 후 제약조건 체크 결과를 받아 Condition Action에서 사용]
Next
를 Click하여 Constraint에서 필요로 하는 Parameter를 설정한다. 중복 여부 또는 정합성을 검증할 Control을 Parameter Key로 설정한다.
[그림3. Duplicate 예시]
- Constraint는 다른 Action과 다르게 세 단계로 Action을 설정한다. 두번째 단계에서 입력한 Parameter key를 Param으로 설정한다. Param으로 설정한 Control과 Data의 중복을 비교할 Business Object의 Field를 선택하고 연산 기준을 설정한다.
- Group은 여러 개의 Business Object Field를
and
조건으로 비교하기 위해 설정한다. Update의 경우, 수정 대상 Data와는 조건을 비교하지 않기 위하여,sysId
에 대하여not equal
조건을 추가한다.
Note: Group 기준으로 설정된 Business Object Field를 where 내의 and 조건으로 조회하는 SQL을 생성하여 실행한다. Query 실행의 결과로 Data가 있는 경우는 No
값을 반환한다. 여러 group을 설정하여 Constraint
를 수행한 경우, 하나의 Group이라도 No
가 있으면, No
로 결과를 반환한다.
Appendix. Consistency를 이용하여 입력되는 자리수를 4자리로 제한하기
- 자릿수를 제한하고자 하는 Control의
View Attribute
에서 Properties > Length > Maxlength를4
로 설정한다. - Action Designer의 Constraint 설정에서
Mapping Control Name
을 Click Event가 발생하는 Control로 설정한다.
- 입력한 자릿수를 체크하고자 하는 Control을 선택하고
Parameter Key
를 설정한다.
- Action consistency를 선택하고 Operation에
Data Length
를 선택한다.Source Param
에는 3번에서 입력한Parameter Key
를 선택하고,Operation Value
를3
으로 설정한다.
Note: 요금 코드를 100
으로 입력하면, Data 길이인 3
으로 치환되어 설정된 Operation Value
과 비교 후 결과에 따라 data.success를 Yes
로 반환한다.
- Constraint의 검증 오류를 Alert을 통하여 사용자에게 표출한다.