MXGrid = Matrix.getObject("MXGrid");
MXGrid.OnCellValidatorMessage = function(sender, args){
//{Id : string,Cell : ICell, Validator : IValValidator, Type : number, Title : string, Message : string, Cancel : boolean }
if(args.Type == 1){ //안내 메세지
if(!args.Title) {
args.Title = "입력 안내(JS)";
}
if(!args.Message){
args.Message = "0~10 사이의 정수만 입력(JS)";
}
}
else if(args.Type == -9){ //에러 일 경우
if(!args.Title) {
args.Title = "입력 오류(JS)";
}
if(!args.Message){
args.Message = getValidateErrorMessage(args.Validator);
}
}
};
// 메세지 출력을 하기 위한 유틸 성 메소드
var getValidateErrorMessage = function(validator){
if(!validator) return null;
var value1 = (typeof validator.Value1 !="undefined")? validator.Value1 : validator.Formula1;
var value2 = (typeof validator.Value2 !="undefined")? validator.Value2 : validator.Formula2;
if(validator.Type == 6){ //문자: 자릿수
switch(validator.Operator){
case 0://BETWEEN=0
return value1 +"에서 "+value2+" 사이의 글자로 입력해 주세요.";
case 1://EQUAL
return value1+" 글자로 입력해 주세요.";
case 2: //GREATER_THAN=2
return value1+" 보다 긴 글자로 입력해 주세요.";
case 3: //GREATER_OR_EQUAL=3
return value1+" 보다 길거나 같은 글자로 입력해 주세요.";
case 4: //LESS_THAN=4
return value1+" 보다 짧은 글자로 입력해 주세요.";
case 5: //LESS_OR_EQUAL = 5
return value1+" 보다 짧거나 같은 글자로 입력해 주세요.";
case 6: //NONE = 6
return null;
case 7://NOT_BETWEEN = 7
return value1+" 보다 짧거나 "+value2+" 보다 긴 글자로 입력해 주세요.";
case 8://NOT_EQUAL = 8
return value1+" 글자가 아닌 값을 입력해 주세요";
}
}else{
switch(validator.Operator){
case 0://BETWEEN=0
return value1 +"에서 "+value2+" 사이의 값을 입력해 주세요.";
case 1://EQUAL
return "값을 "+value1+"를 입력해 주세요.";
case 2: //GREATER_THAN=2
return value1+" 보다 큰 값을 입력해 주세요.";
case 3: //GREATER_OR_EQUAL=3
return value1+" 보다 크거나 같은 값을 입력해 주세요.";
case 4: //LESS_THAN=4
return value1+" 보다 작은 값을 입력해 주세요.";
case 5: //LESS_OR_EQUAL = 5
return value1+" 보다 작거나 같은 값을 입력해 주세요.";
case 6: //NONE = 6
return null;
case 7://NOT_BETWEEN = 7
return value1+" 보다 작거나 "+value2+" 보다 큰 값을 입력해 주세요.";
case 8://NOT_EQUAL = 8
return value1+"가 아닌 값을 입력해 주세요";
}
}
return null;
} |