//Tip 스타일 열거
var _tipCssEnum =
{
//(ajax) 로딩 처리
loadCss: "loadCss",
//포커스 스타일을 가져올 때
focusCss: "focusCss",
//Prompt [빈 프롬프트의 경우] ---설정되지 않은 경우 errorCss를 사용하세요.
noticeCss: "noticeCss",
//Failed or error [for format 오류, 정규식 확인]---설정해야 함
errorCss: "errorCss",
//Success---설정해야 함
successCss: "successCss",
//기본 상태---
defaultCss: "defaultCss"
};
initConfig: function (controlOptions) {
var settings =
{
debug: false,/ /디버깅 모드인지 여부
validatorgroup: "1",//검증 그룹
alertmessage: false,//검증 프롬프트가 직접 팝업되는지 여부
validobjectids: "",//검증 개체 컬렉션
focusvalid: false,
onsuccess: function () { return true }, //인증 성공 후 처리 방법, return true|false (양식 확인 추가 또는 양식 제출 방지 등 가능)
onerror: function () { } ,
filterInputStrFun: function (str) { return FilterInputOper.FilterInputStr(str) }, //입력 문자열을 필터링하는 방법 [설정 가능]
isformpost: false, //폼 제출인지 여부 (기본값: false ——비양식 제출, 일반적으로 ajax 제출, true——양식 제출)
submitonce: false,//검증 통과 후 즉시 양식을 제출할지 여부
submitbutton: null,//제출 버튼 ID 또는 개체
getformdata: null, //function (formdata) { } (검증 통과 후) 입력 양식 값 가져오기 - 이 메소드는 isformpost=false인 경우에만 호출됩니다.
//검증 프롬프트 표시 설정(기본값: 기본값 설정에 따라)
tipshow: "default",
formid: "", //폼의 ID나 객체를 확인하세요
tidymode: false, //Lite mode
errorfocus: true,
wideword : true,
//유효성 검사 프롬프트 스타일 설정(전역)
tipcss:
{
//(ajax) 로딩 처리
loadCss: "",
// 포커스를 받을 때 Style
focusCss: "",
//Prompt
noticeCss: "",
//Success
successCss: "",
//Failure
errorCss : " ",
//기본 상태
defaultCss: ""
}
}
controlOptions = controlOptions || {}
controlOptions.tipcss || {} ;
//전체 구성 병합(전체 복사)
$.extend(true, settings, controlOptions)
if (!settings.isformpost) {
if (!settings.submitbutton ) {
alert("제출버튼은 비워둘 수 없습니다! ");
return;
}
_GetJqObj(settings.submitbutton).click(function () {
var pageIsValid = $.formValidator.pageIsValid(settings.validatorgroup);
if ( pageIsValid && _IsFunction(settings.getformdata)) {
var formData = _GetFormData(settings.filterInputStrFun);
settings.getformdata(formData);
}
}); settings.tipshow = settings.tipshow || "default"
//간소화 모드인 경우 오류 발생 시 첫 번째 오류 제어가 포커스를 받지 않습니다.
if (settings.tidymode) {
settings.errorfocus = false;
}
if (settings.formid) {
_GetNodeById(settings.formid).submit(function () {
//양식 제출이 아닌 경우 차단 양식 제출
return settings.isformpost ? $.formValidator.pageIsValid(settings.validatorgroup) : false;
})
}
if (_jQuery_formValidator_initConfig_Array == null) {
_jQuery_formValidator_initConfig_Array = new Array ()
_jQuery_formValidator_initConfig_Array.push(settings);
}
//팁 정보 설정
setTipState: function (elem, showCssEnum, showmsg) {
var settings0 = elem .settings[0];
var initConfig = $.formValidator.getInitConfig(setting0.validatorgroup);
if (initConfig.alertmessage && showmsg) {
alert(showmsg); 🎜> }
var jq_tipObj = settings0.tipJqObj;
vartip_IsNull = Object.isNull(jq_tipObj);
if (!tip_IsNull) {
showmsg = showmsg
if (initConfig .tidymode) {
//프롬프트 정보 저장
elem.Tooltip = showmsg;
if (showCssEnum != _tipCssEnum.errorCss && showCssEnum != _tipCssEnum.noticeCss)
jq_tipObj.hide() ;
}
jq_tipObj.removeClass();
//팁 스타일 설정
var showClass = settings0.tipcss[showCssEnum]
//noticeCss를 사용하세요.
if (String.isNullOrEmpty(showClass) && showCssEnum == _tipCssEnum.noticeCss) {
showCssEnum = _tipCssEnum.errorCss;
showClass = settings0.tipcss[showCssEnum]
if (!String .isNullOrEmpty (showClass)) {
//현재 팁 라벨 표시 스타일 저장(열거 값)
elem.showcssenum = showCssEnum;
jq_tipObj.addClass(showClass)}
jq_tipObj.html(showmsg)
}
}
4. 더 많은 요구 사항을 충족하고 기능과 사용 편의성을 향상시키기 위해 initConfig 구성 개체에 다음과 같은 몇 가지 속성을 추가했습니다.
filterInputStrFun: function (str) { return FilterInputOper.FilterInputStr(str) } , // 입력 문자열을 필터링하는 방법 [설정 가능] - 입력 문자열 필터링의 필요성을 충족시키기 위해
Isformpost: false, //폼 제출인지 여부(기본값: false - 비폼 제출, 일반적으로 ajax Submit, true - 양식 제출) - Ajax 제출 및 양식 제출의 요구 사항을 충족하기 위해
Getformdata: null, //function (formdata) { } (확인 후) 입력 양식 값 가져오기 - isformpost=false만
팁쇼: "default", //확인 메시지 표시 설정(기본값: 설정에 따른 기본값) - ID 또는 사용자 정의 jQuery 검색(찾기) 방법을 기반으로 확인 메시지 레이블 개체 검색 방법을 설정합니다.
플러그인 사용법은 다음과 같습니다.