입력 검증

단순 검증 Vs. 사용자 정의 검증

입력 컴포넌트의 경우 사용자가 입력한 데이터를 검증해야 합니다. 예를 들어 사용자가 필수 데이터를 입력했는지 혹은 입력한 데이터가 적절한지 등을 검증할 필요가 있습니다.

검증 기능을 제공하는 입력 컴포넌트

AutoComplete

CheckBox

CheckComboBox

InputBox

InputCalendar

MultiSelect

Radio

SearchBox

Secret

SelectBox

TextArea

유효성 검증 방법

단순 검증

사용자 정의 검증

  • 컴포넌트의 속성 값 설정을 통한 검증.

  • 구현은 간단하지만 세밀한 검증은 어려움.

  • 사용자 정의 함수를 통한 검증.

  • 구현은 복잡하지만 세밀하고 유연한 검증이 가능함.

검증 관련 속성

각 입력 컴포넌트에 검증 관련 속성을 설정한 후 validate() 함수를 호출하여 입력 값을 검증할 수 있습니다.

검증 관련 속성

속성

데이터 형

설명

mandatory

combo

필수 입력 여부 설정

minLength

number

최소길이

maxLength

number

최대길이

minByteLength

number

최소 Byte 길이

maxByteLength

number

최대 Byte 길이

검증 실패 시 표시할 메시지

검증 실패시 출력할 메시지를 아래의 방법으로 설정합니다.

사용자 정의 검증

invalidMessageFunc 혹은 validator 속성을 사용자가 JavaScript로 정의한 함수로 설정하여 입력 데이터를 검증할 수 있습니다.

invalidMessageFunc

검증이 필요한 단계에서 validate() 함수가 호출되면 invalidMessageFunc 속성에 정의된 함수가 유효성 검사를 수행합니다.

invalidMessageFunc 속성으로 설정한 함수는 아래와 같은 API를 사용할 수 있습니다.

invalidMessageFunc

API

설명

this.getCaller()

사용자 정의 함수를 호출한 컴포넌트

this.getType()

검증 실패한 속성의 이름

this.getValue()

검증 실패한 속성의 값

$r_title(invalidMessageFunc)
<xf:input id="input3" style="position: relative;width: 144px;height: 21px;" mandatory="true" ev:onblur="scwin.input3_onblur"	invalidMessage="이름(Name)을 확인해 주세요." displaymessage="true" invalidMessageFunc="CheckValid1">
</xf:input>
$r_title(사용자 정의 함수 (CheckValid1))
function CheckValid1() {
    var Obj = this.getCaller();
    var type = this.getType();
    var value = this.getValue();

    if (type == 'mandatory') {
        return '이름을 입력해주세요.';
    } else if (type == 'minLength') {
        return '입력값은 ' + Obj.getValue() +
            '입니다.\n 최소 입력 글자를 확인해주세요.(' + value +
            ')';
    }
}

validator

입력 컴포넌트에서 포커스가 빠져 나올 경우(onblur 이벤트), validator에 정의된 함수가 유효성 검사를 진행합니다.

$r_title(validator)

<xf:input id="input3" style="position: relative;width: 144px;height: 21px;" mandatory="true" ev:onblur="scwin.input3_onblur"	invalidMessage="이름(Name)을 확인해 주세요." displaymessage="true" invalidMessageFunc="CheckValid1" validator="CheckValid2">
</xf:input>
$r_title(사용자 정의 함수 (CheckValid2))
function CheckValid2(inputValue) {
    var regExp = /^[A-Z][A-Za-z]+\s[A-Z][A-Za-z]+$/;
    if (!regExp.test(inputValue)) {
        alert("이름이 정확하지 않습니다.");
        return inputValue;
    }
}

invalidMessageFunc 혹은 validator 속성을 사용자가 JavaScript로 정의한 함수로 설정하여 입력 데이터를 검증할 수 있습니다.

메시지 우선 순위

invalidMessageFunc, invalidMessage, displaymessage를 모두 설정하더라도 아래의 우선순위에 따라 한가지만 적용됩니다.

우선 순위

관련 속성

1

invalidMessageFunc


2

invalidMessage


3

displaymessage

예제

AutoComplete

mandatory="true"인 경우, validate() 함수는 검증을 수행하여 결과를 true/false로 반환합니다.

사용자 입력 검증 및 검증 실패 메시지 표시

관련 함수

  • validate()

검증 항목

  • mandatory

예제 파일


인터넷에서 다운로드 혹은

WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기

(/AutoComplete/validate_mandatory_AutoComplete.xml)

YouTube 동영상 (https://youtu.be/xYWDzyqORV8)

InputBox

사용자 입력 검증 및 검증 실패 메시지 표시

관련 함수

  • validate()

관련 속성

  • displaymessage

  • invalidMessage

  • invalidMessageFunc

검증 항목

  • mandatory

  • maxByteLength

  • maxlength

  • minByteLength

  • minlength

예제 파일


인터넷에서 다운로드 혹은

WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기

(/InputBox/validate_displaymessage_invalidMessage_invalidMessageFunc_InputBox.xml)

YouTube 동영상 (https://youtu.be/JCY4DR0ciHk)

InputCalendar

예제 파일


인터넷에서 다운로드 혹은

WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기

(/InputCalendar/validate_displaymessage_invalidMessageFunc_InputCalendar.xml)

YouTube 동영상 (https://youtu.be/EnBiNklDR9U)

Radio

사용자 입력 검증 및 검증 실패 메시지 표시

관련 함수

  • validate()

관련 속성

  • displaymessage

  • invalidMessage

  • invalidMessageFunc

검증 항목

  • mandatory

예제 파일


인터넷에서 다운로드 혹은

WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기

(/Radio/validate_displaymessage_invalidMessage_invalidMessageFunc_Radio.xml)

YouTube 동영상 (https://youtu.be/gqBg2j5qXPY)

SelectBox

사용자 입력 검증 및 검증 실패 메시지 표시

관련 함수

  • validate()

관련 속성

  • displaymessage

  • invalidMessage

  • invalidMessageFunc

검증 항목

  • mandatory

예제 파일


인터넷에서 다운로드 혹은

WEBSQUARE_DEV_PACK의 GUIDE 프로젝트에서 보기

(/SelectBox/validate_displaymessage_invalidMessage_invalidMessageFunc_SelectBox.xml)

YouTube 동영상 (https://youtu.be/3Awh08yofj4)