본문 바로가기

SmartClient

[SmartClient]validation 강제 처리

listgrid validation


validation을 해야하는데, 이미 입력된 데이터의 validation이 맞지 않은 상황에서 체크해할때 사용


1. 로우의 에디터 액션 exit시에 체크


,rowEditorExit: function (editCompletionEvent, record, newValues, rowNum){

//fetch한 row의 컬럼데이터 중에서, 이미 validation에 맞지않는 값인 경우에는 수정시에 validation에서 체크되지않는다

//위와같은 경우에 체크

if(P004_FLOW_OP_MAPPING_RIGHT.rowHasChanges(rowNum)){

P004_FLOW_OP_MAPPING_RIGHT.validateCell(rowNum, "mat_fo_id_desc");

P004_FLOW_OP_MAPPING_RIGHT.validateCell(rowNum, "qty");

}

}


2. 위의 경우는 수정액션이 끝난경우 (수정하려다 다른 로우로 이동 포함)

    한 로우의 특정 한개의 cell만 수정후 저장시 위의 메소드 fired 안되기에, 아래처럼 저장시 한번 더 체크


                 //validation

                var passValidation = true;

                if(editRows.length > 0){

                for(var i=0; i<editRows.length; i++){

                    if(!P004_FLOW_OP_MAPPING_RIGHT.validateCell(editRows[i], "mat_fo_id_desc")){passValidation = false;};

                    if(!P004_FLOW_OP_MAPPING_RIGHT.validateCell(editRows[i], "qty")){passValidation = false;};

                }

                }

               

                if(passValidation == false){

                return;

                }