Javascript

jquery validation depends

파이팅야 2014. 4. 18. 16:42


아래 코드 처럼 사용하지 말고

// validation method 추가

jQuery.validator.addMethod("guid", function(value, element, param) {

        var searchVal = $.trim($(element).val());

       

        if ($(param).val() == "Guid" && searchVal != "") {

               var re = /^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$/;

               return re.test(searchVal);

        }

        return true;

}, 'GUID 형식에 맞게 입력해주세요.');


// 검색용 Validator

var searchValidator= $("#frmSearch").validate({

        rules: {

               searchValue : {

                       maxlength: 50,

                       guid : "#sltSearchType"

               }

        }

});



아래 코드처럼 사용해야 'guid' validation method의 재 사용성이 커진다.

// validation method 추가

jQuery.validator.addMethod("guid", function(value, element, param) {

        var searchVal = $.trim($(element).val());

        var re = /^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$/;

        return re.test(searchVal);

}, 'GUID 형식에 맞게 입력해주세요.');


// 검색용 Validator

var searchValidator= $("#frmSearch").validate({

        rules: {

               searchValue : {

                       maxlength: 50,

                       guid : {

// param : [1, 'a']    // param값 셑팅 시 사용

                              depends : function(element) {

                                      // 검색조건이 guid이고 검색내용이 있는경우 GUID 유효한지 확인

                                      return $("#sltSearchType").val() == "Guid"

                                             && $.trim($(element).val()) != "";

                              }

                       }

               }

        }

});


참고 URL

http://jqueryvalidation.org/validate#rules