//各种验证方式支持的标签类型 sustainType: function (elem, setting) { var srcTag = elem.tagName; var stype = elem.type; switch (setting.validatetype) { case _validTypeEnum.InitValidator: return true; case _validTypeEnum.InputValidator: if (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA || srcTag == _validTagEnum.SELECT) { return true; } else { return false; } case _validTypeEnum.CompareValidator: if (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA) { if (stype == _validTagTypeEnum.checkbox || stype == _validTagTypeEnum.radio) { return false; } else { return true; } } return false; case _validTypeEnum.AjaxValidator: if (stype == _validTagTypeEnum.text || stype == _validTagTypeEnum.textarea || stype == _validTagTypeEnum.file || stype == _validTagTypeEnum.password || stype == _validTagTypeEnum.select_one) { return true; } else { return false; } case _validTypeEnum.RegexValidator: if (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA) { if (stype == _validTagTypeEnum.checkbox || stype == _validTagTypeEnum.radio) { return false; } else { return true; } } return false; case _validTypeEnum.FunctionValidator: return true; } }
代码如下:
//获取指定字符串的长度 getLength: function (jqObj) { var elem = _GetDomObj(jqObj); var sType = elem.type; var len = 0; switch (sType) { case _validTagTypeEnum.text: case _validTagTypeEnum.hidden: case _validTagTypeEnum.password: case _validTagTypeEnum.textarea: case _validTagTypeEnum.file: var val = jqObj.val(); var initConfig = $.formValidator.getInitConfig(elem.settings[0].validatorgroup); len = initConfig.wideword ? String.getCharLength(val) : val.length; break; case _validTagTypeEnum.checkbox: case _validTagTypeEnum.radio: len = $("input[type='" + sType + "'][name='" + jqObj.attr("name") + "']:checked").length; break; case _validTagTypeEnum.select_one: case _validTagTypeEnum.select_multiple: len = jqObj.children(":selected").length; break; } return len; }