$.extend({
formEntity: {
clearForm: function (target) {
target.find('[name]').each(function () {
$(this).val('');
});
},
validateForm: function (target) {
var checkEmpty = false;
target.find('[name]').each(function () {
$(this).siblings("i").remove();
var value = $.trim($(this).val());
if (this.required && !$.formEntity.validateRule(this)) {
checkEmpty = true;
$(this).after("<i style='color:red;'> "+$(this).attr('message')+"</i>");
}
});
return checkEmpty;
},
validateRule : function(ele){
var result = false;
var type = ele.type;
switch (type){
case 'text':
result = $.formEntity.text(ele);
break;
case 'email':
result = $.formEntity.email(ele);
break;
case 'number':
result = $.checkNum(ele);
break;
default:
result = $.formEntity.text(ele);
}
return result;
},
text: function (ele) {
var _result = true;
var _val = $.trim($(ele).val());
if (_val === '') {
_result = false;
}
var _min = $(ele).attr('minLength');
var _max = $(ele).attr('max_Length');
if (_min && _max) {
_result = (_val.length >= _min && _val.length <= _max);
}
if (_min && !_max) {
_result = (_val.length >= _min);
}
if (!_min && _max) {
_result = (_val.length <= _max);
}
var _parttern = $(ele).attr('parttern');
if(_parttern){
var _reg = new RegExp(_parttern);
_result = _reg.test(_val) && _result;
}
return _result;
},
email : function(ele){
var _result = true;
var _val = $.trim($(ele).val());
var _parttern = $(ele).attr('parttern');
if(!_parttern){
var _reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
_result = _reg.test(_val);
}else{
_result = $.formEntity.text(ele);
}
return _result;
},
getFormParams: function (target, params) {
target.find('[name]').each(function () {
var value = $.trim($(this).val());
if (value != '') {
params[this.name] = value;
}
});
return params;
},
setForm: function (target, params) {
target.find('[name]').each(function () {
$(this).val(params[this.name]);
});
}
},
checkNum : function(ele){
return !/^((([1-9]+\d*)?|\d?)(\.\d*)?)?$/.test(ele.value);
},
/**
*
* @param url
* @param param
* 查询参数
*/
exportFile : function(url,param){
var exportForm = document.createElement("form");
exportForm.action = url;
exportForm.method = "post";
exportForm.style.display = "none";
for (var key in param) {
var option = document.createElement("input");
option.name = key;
option.value = param[key];
exportForm.appendChild(option);
}
document.body.appendChild(exportForm);
exportForm.submit();
},
Arrays : {
deleteItems: function (arrays, items) {
if ($.dataType.isString(items)) {
return $.grep(arrays, function (array) {
return array != items;
});
} else if ($.dataType.isArray(items)) {
$.each(items, function (i, item) {
arrays.splice($.inArray(item, arrays), 1);
});
return arrays;
}
}
},
dataType: {
isArray: function (obj) {
return (typeof obj == 'object') && obj.constructor == Array;
},
isString: function (str) {
return (typeof str == 'string') && str.constructor == String;
},
isNumber: function (obj) {
return (typeof obj == 'number') && obj.constructor == Number;
},
isDate: function (obj) {
return (typeof obj == 'object') && obj.constructor == Date;
},
isFunction: function (obj) {
return (typeof obj == 'function') && obj.constructor == Function;
},
isObject: function (obj) {
return (typeof obj == 'object') && obj.constructor == Object;
},
},
/**
*
* @param ele
* @param param
*
* textField
* valueField
* defaultEmpty 是否默认为空
* dataList 下拉数据
* dataType 数据类型 list listmap
*
*/
loadCombobox : function (ele,param){
var textField = param.textField;
var valueField = param.valueField;
var defaultEmpty = param.defaultEmpty;
var dataList = param.dataList;
var dataType = param.dataType;
if(dataList){
ele.empty();
if(defaultEmpty){
var option = $('<option></option>');
option.text('');
option.val('');
ele.append(option);
}
if(!dataType || dataType=='list'){
for (var i = 0; i < dataList.length; i++) {
var option = $('<option></option>');
option.text(dataList[i]);
option.val(dataList[i]);
ele.append(option);
}
}else{
for (var i = 0; i < dataList.length; i++) {
var option = $('<option></option>');
option.text(dataList[i][textField]);
option.val(dataList[i][valueField]);
ele.append(option);
}
}
}
}
});
基于jquery的form表单验证
最新推荐文章于 2022-12-07 08:30:00 发布