2.5. ★ 입력 컨트롤의 value 속성이 바인딩 되지 않은 경우 value 값 반환 시 null이 반환되는 현상

2.5.1. 변경 전

입력 컨트롤(인풋박스, 마스크 에디터, 서치 인풋, 텍스트 에리어, 데이트 인풋, 넘버 에디터)의 value 속성이 바인딩되지 않고 값이 설정되어 있지 않은 경우, 스크립트에서 해당 컨트롤의 value를 반환하면 null 값이 반환되었습니다.

2.5.2. 변경 후

1.0.4221 (2023년 1월 13일 릴리즈) 버전에서 위와 같은 경우, value 값으로 빈 문자열("")이 반환되도록 기능이 수정되었습니다.
즉, 바인딩되지 않은 value를 반환하면 null이 아닌 빈 문자열("")로 처리됩니다.

2.5.3. 조치 방안

스크립트에서 해당 컨트롤의 value 값 비교 시, 더 이상 null을 기준으로 판단할 수 없으므로 "" (빈 문자열)로 비교하도록 수정해야 합니다.

[과거 버전에서 빈 값 비교 시 스크립트]

var vcIpb = app.lookup(“ipb”);
if (vcIpb == null) {
    //수행할 스크립트
}

[1.0.4221 이후 버전에서 빈 값 비교 시 스크립트]

var vcIpb = app.lookup(“ipb”);
if (vcIpb == “”) {
    //수행할 스크립트
}

2.5.4. 추가 조치 방안

1.0.4221 이전 버전과의 호환성을 유지하기 위해서 1.0.5306 (2024년 9월 릴리즈) 버전부터는 defaults.js를 통해 해당 컨트롤의 기본 value 값을 null로 설정할 수 있도록 기능이 추가되었습니다.
기본값을 null로 설정하고 싶은 경우에는 defaults.js 파일 내에서 각 컨트롤의 value 속성을 명시적으로 null로 지정하시면 됩니다.

[1.0.5306 이후 버전에서 기본 값(null) 설정 스크립트]

var CPR_DEFAULTS = {
    controls: {
        inputbox: {
            value: null
        },
        numbereditor:{
            value: null
        },
        maskeditor:{
            value: null
        },
    }
}

버전 #1