EzValidator

EzValidator

EzValidator 데이터 유효성 검증자

Constructor

new EzValidator(comp, option, doFindingopt)

Author:
  • 이승갑(dltmdrkq2@gmail.com)
  • 정민석(whitn86@gmail.com)
Example
//ValidationOption 예시
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
    minLength : { value : 2 ,msg : "성명은 두 자 이상 입력해야 합니다."},
  },
  REG_DATE : {
    required : { value : true, msg : "등록일은 필수입력입니다"},
    maxDate : { 
      value : function(rowData,row,colNm){
        return $util.today 
      },
      msg : function(rowData,row,colNm,rsn,value){
        return "현재날짜("+value+")이후의 값은 입력할 수 없습니다."
      },
    }     
  }
});
Parameters:
Name Type Attributes Default Description
comp nexacro.Grid | nexacro.Dataset

Validation 기능을 부여할 컴포넌트

option EzValidator.ValidationOption

칼럼 별 Validation 옵션

doFinding boolean <optional>
true

Validation에 부적합할 경우 focus를 해당 값을 바인딩 하고 있는 component로 이동시킬지 여부

Members

(static, readonly) opitons :string

Properties:
Name Type Description
required string

필수여부, 해당 옵션을 가진 칼럼은 필수입력칼럼이 됩니다.

기본 value 유형은 boolean으로 value가 true일 경우 필수입력을 확인합니다.

nonEmpty string

필수여부(공백문자금지), 해당 옵션을 가진 칼럼은 필수입력칼럼이 됩니다.

기본 value 유형은 boolean으로 value가 true일 경우 필수입력을 확인합니다.

min string

최소값, 해당 옵션을 가진 칼럼은 특정 값 이상의 숫자여야 합니다.

기본 value 유형은 Number로 value값 이상의 숫자만 허용합니다.

max string

최대값, 해당 옵션을 가진 칼럼은 특정 값 이하의 숫자여야 합니다.

기본 value 유형은 Number로 value값 이하의 숫자만 허용합니다.

minDate string

최소값(날짜), 해당 옵션을 가진 칼럼은 특정 시점 이후여야 합니다.

기본 value 유형은 String(8자리숫자)으로 해당 날짜이거나 그 이후의 날짜만 허용합니다.

maxDate string

최소값(날짜), 해당 옵션을 가진 칼럼은 특정 시점 이전여야 합니다.

기본 value 유형은 String(8자리숫자)으로 해당 날짜이거나 그 이전의 날짜만 허용합니다.

minLength string

최소길이제한, 해당 옵션을 가진 칼럼은 특정 길이 이상이어야 합니다.

기본 value 유형은 Number로 해당 길이 이상의 길이를 가진 문자열만 허용합니다.

maxLength string

최대길이제한, 해당 옵션을 가진 칼럼은 특정 길이 이하여야 합니다.

기본 value 유형은 Number로 해당 길이 이하의 길이를 가진 문자열만 허용합니다.

minByte string

최소길이제한(byte), 해당 옵션을 가진 칼럼은 특정 byte길이 이상이여야 합니다.

기본 value 유형은 Number로 해당 길이 이상의 byte길이를 가진 문자열만 허용합니다.

maxByte string

최대길이제한(byte), 해당 옵션을 가진 칼럼은 특정 byte길이 이하여야 합니다.

기본 value 유형은 Number로 해당 길이 이하의 byte길이를 가진 문자열만 허용합니다.

jumin string

주민등록번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은주민등록번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 주민등록번호 양식 적합 여부를 확인합니다.

foreign string

외국인등록번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 외국인등록번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 외국인등록번호 양식 적합 여부를 확인합니다.

rrn string

주민등록번호양식 혹은 외국인등록번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 외국인등록번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 외국인등록번호 양식 적합 여부를 확인합니다.

biznum string

사업자번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 사업자번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 사업자번호 양식 적합 여부를 확인합니다.

corpnum string

법인번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 법인번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 법인번호 양식 적합 여부를 확인합니다.

mobile string

휴대전화번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 휴대전화번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 휴대전화번호 양식 적합 여부를 확인합니다.

tel string

전화번호 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 전화번호양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 전화번호 양식 적합 여부를 확인합니다.

email string

이메일주소 양식 적합여부 확인, 해당 옵션을 가진 칼럼은 이메일주소양식에 적합해야합니다.

기본 value 유형은 Boolean으로 value가 true일 경우 이메일주소 양식 적합 여부를 확인합니다.

Type:
  • string

Methods

check(doAllRowopt) → {EzValidator.RowValidInfo}

Description:
  • Dataset을 대상으로 유효성 검증을 실행한다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
var validInfo = this.validator.check();
Parameters:
Name Type Attributes Default Description
doAllRow boolean <optional>
false

모든 행을 대상으로 할지 여부
false일 시, new/update 상태인 행만을 대상으로 검증합니다.. true일시 Normal상태인 행도 검증합니다.

Returns:

validation 확인 결과 정보 객체

Type
EzValidator.RowValidInfo

destroy()

Description:
  • EzValidator의 정보들을 삭제, EzValidator를 지우기 전 반드시 호출하도록 합니다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
this.validator.destroy();
this.validator = null;

getRowValidInfo(row) → {EzValidator.RowValidInfo}

Description:
  • Dataset의 특정 row를 대상으로 유효성 검증을 실행한다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
var validInfo = this.validator.getRowValidInfo(0);
Parameters:
Name Type Description
row number

값을 검증할 row

Returns:

validation 확인 결과 정보 객체

Type
EzValidator.RowValidInfo

markingCells()

Description:
  • validation 설정 중 필수값에 해당하는 값을 가진 Grid cell들에 필수값 마크를 단다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
this.validator.markingCells();

markingComps()

Description:
  • validation 설정 중 필수값에 해당하는 component들에 필수값 마크를 단다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
this.validator.markingComps();

setOption(option)

Description:
  • EzValidator의 Validation 설정값을 변경한다.
    기존 Validation 설정 내용은 사라진다.

Example
this.validator.setOption({
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
}); //벨리데이션 옵션 재설정
this.validator.check(true); //재설정 한 내용으로 다시 체크
Parameters:
Name Type Description
option EzValidator.ValidationOption

칼럼 별 Validation 옵션

unMarkingCells()

Description:
  • 설정 중 필수값에 해당하는 값을 가진 Grid cell들에 필수값 마크를 해제한다..

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
this.validator.markingCells();
this.validator.unMarkingCells();

unMarkingComps()

Description:
  • validation 설정 중 필수값에 해당하는 component들에 필수값 마크를 해제한다.

Example
this.validator = new EzValidator(this.Grid00,{
  NAME : {
    required : { value : true, msg : "성명은 필수입력입니다."},
  },
});
this.validator.markingComps();
this.validator.unMarkingComps();

Type Definitions

RowValidInfo

Properties:
Name Type Description
row number

유효성 검증을 시도한 행

colNm string

유효성 검증을 시도한 column 명

rsn string

유효성 검증을 시도한 opiton명

value string | number | boolean

유효성 검증을을 위해 이용한 값

msg string

유효성 통과 실패 메시지
유효한 데이터라면 해당 값이 빈 문자열일 수 있습니다.

Type:
  • Object

ValidationMsgCfnParam

Description:
  • 데이터 유효성 msg값 파라미터

Properties:
Name Type Description
rowData Object

유효성을 검증할 행의 data

row number

유효성을 검증할 row

colNm string

유효성을 검증할 칼럼 명

rsn string

유효하지 않은 사유가되는 option명

value string

유효성 검증을 위해 사용된 값
예를들어 최소 길이가 3자 이상이라는 조건일 경우, 3

데이터 유효성 msg값 파라미터

Type:
  • Object
Example
function(rowData, row, colNm){
  return rowData[colNm] != null;
}

ValidationOption

Description:
  • 데이터 유효성 체크 옵션

데이터 유효성 체크 옵션

Type:
Examples
// option이 type이 required인 경우, 요구 value값은 boolean형식
{ CELL_NUMB : { required : { value : true , msg : "휴대전화번호는 필수입력입니다." }} }  
// 실행결과가 boolean인 expr 문자열로 대체
{ CELL_NUMB : { required : { value : "expr:EMAIL!=null" , msg : "E-Mail 미입력시 휴대전화번호는 필수입력입니다." }} }  
//실행결과가 boolean인 Function 으로 대체
{ CELL_NUMB : { required : { value : (rowData,row,colNm) => { return rowData['EMAIL'] != null )} , msg : "E-Mail 미입력시 휴대전화번호는 필수입력입니다." }} }  
//결과 메시지를 Function으로 대체
{ CELL_NUMB : { required : { value : true , msg : (rowData, row, colNm, rsn, value) => "휴대전화번호는 필수입력입니다." }} }  

ValidationRule

Description:
  • 데이터 유효성 체크 룰

Properties:
Name Type Description
type object

사용가능한 기본유형은 여기를 참조합니다. 기본유형 이외의 옵션유형값이 입력되었을 경우 사용자정의 옵션으로 판단합니다.

Properties
Name Type Description
value boolean | string | number | function

옵션값, 옵션 유형에 따라 다른 옵션 형식을 요구합니다.
옵션 유형이 요구하는 value 형식 이외에 nexacro의 expr형식에 적합한 string이나 Function도 사용 가능합니다
이 경우 expr이나 Function의 실행 결과값이 옵션 유형이 요구하는 value형식과 일치해야 합니다.

  • 기본유형들의 기본 value 유형은 여기를 참조합니다
  • 사용자 정의 옵션일 경우, 기본 value 유형은 boolean이며, 해당 값이 true일 때 유효한 값으로 판단합니다.
  • 함수형일 경우 파라미터는 여기를 참조하세요.
msg string | function

유효성부적합시 메시지, 유효성부적합시 유효성 검증 결과객체에 담을 메시지입니다.

  • String 타입일 경우, 해당 메시지가 그대로 유효성 검증 결과에 담깁니다.
  • Function일 경우, 해당 함수를 수행한 결과 String을 검증 결과에 담습니다.
  • 함수형일 경우 파라미터는 여기를 참조하세요.

데이터 유효성 체크 룰

Type:
  • Object
Examples
// option이 type이 required인 경우, 요구 value값은 boolean형식
{ required : { value : true , msg : "휴대전화번호는 필수입력입니다." }}
// 실행결과가 boolean인 expr 문자열로 대체
{ required : { value : "expr:EMAIL!=null" , msg : "E-Mail 미입력시 휴대전화번호는 필수입력입니다." }}
//실행결과가 boolean인 Function 으로 대체
{ required : { value : (rowData,row,colNm) => { return rowData['EMAIL'] != null )} , msg : "E-Mail 미입력시 휴대전화번호는 필수입력입니다." }}  
//결과 메시지를 Function으로 대체
{ required : { value : true , msg : (rowData, row, colNm, rsn, value) => "휴대전화번호는 필수입력입니다." }}  

ValidationValueCfnParam

Description:
  • 데이터 유효성 value값 파라미터

Properties:
Name Type Description
rowData Object

유효성을 검증할 행의 data

row number

유효성을 검증할 row

colNm string

유효성을 검증할 칼럼 명

데이터 유효성 value값 파라미터

Type:
  • Object
Example
function(rowData, row, colNm){
  return rowData[colNm] != null;
}