您现在的位置是:首页 >  云笔记 >  开发笔记 >  文章详情

easyui 的validatebox()自定义扩展详解

豆豆   2022-05-13 19:52:37   18人已围观

一、参数详解:

 validator: function (value, element,param) 参数说明: 

1、 value:表示文本框中value属性的值

2、element 是元素本身

3、param表示:是data-options的参数对象,param为调用验证规则时传递的参数,就是validType函数名后传递的值,为数组格式的,没有参数可以不用在验证函数名后写[参数]

4、message:是验证错误的提示语

二、常用验证扩展

$.extend($.fn.validatebox.defaults.rules, {
	 notBlank: {
	        validator: function (value, param) { 
	        	return $.trim(value) != ''; 
	        },
	        message: '该输入项为必输项'
	    },
    CHS: {
        validator: function (value, param) {
            return /^[\u0391-\uFFE5]+$/.test(value);
        },
        message: '请输入汉字'
    },
    onlyLetter: {
        validator: function (value, param) {
            return  /^[a-zA-Z\ \']+$/.test(value);
        },
        message: '只接受英文字母大小写'
    },
    onlyLetterNumber: {
        validator: function (value, param) {
            return  /^[0-9a-zA-Z]+$/.test(value);
        },
        message: '只接受数字和英文字母'
    },
    ZIP: {
        validator: function (value, param) {
            return /^[1-9]\d{5}$/.test(value);
        },
        message: '邮政编码不存在'
    },
    isZipFile: {
        validator: function (value, param) {
            return /\w+\.zip+$/i.test(value);
        },
        message: '只允许上传Html文件打包的zip文件,名称必须是英文或者数字组成'
    },
    QQ: {
        validator: function (value, param) {
            return /^[1-9]\d{4,10}$/.test(value);
        },
        message: 'QQ号码不正确'
    },
    mobile: {
        validator: function (value, param) {
            return /^1\d{10}$/.test(value);
        },
        message: '手机号码不正确'
    },
    loginName: {
        validator: function (value, param) {
            return /^[\u0391-\uFFE5\w]+$/.test(value);
        },
        message: '登录名称只允许汉字、英文字母、数字及下划线。'
    },
    safepass: {
        validator: function (value, param) {
            return safePassword(value);
        },
        message: '密码由字母和数字组成,至少6位'
    },
    equalTo: {
        validator: function (value, param) {
            return value == $(param[0]).val();
        },
        message: '两次输入的字符不一至'
    },
    number: {
        validator: function (value, param) {
            return /^\d+$/.test(value);
        },
        message: '请输入数字'
    },
    minNumber: {
        validator: function (value, param) {
        	var isnum=/^\d+$/.test(value);
        	var isbig=(value>=param[0]);
            return isnum&&isbig;
        },
        message: '请输入大于等于{0}的数字'
    },
    checkIsDouble:{
    	  validator: function (value, param) {
              return /^[-\+]?\d+(\.\d+)?$/.test(value);
          },
          message: '请输入数字'
    },
    idcard: {
        validator: function (value, param) {
            return idCard(value);
        },
        message:'请输入正确的身份证号码'
    },
    HttpUrl: {
        validator: function (value, param) {
            return /^(https?|ftp|file):\/\/.+$/.test(value);
        },
        message:'请输入正确的http地址'
    },
   maxLength: {
        validator: function(value, param){
            return value.length <= param[0];
        },
        message: '请最多输入{0}以内的字符'
    },
    myLength: {
        validator: function(value, param){
        	var min=param[0];//最小长度
        	var max=param[1];//最大长度
        	var vlen=0;
        	var res=/^[\u0391-\uFFE5]+$/.test(value);
        	for(var i=0;i<value.length;i++){
        		var code=value.charCodeAt(i);
        		console.log(code);
        		if(code>=0&&code<=127){//普通字符
        			vlen+=1;
        		}else{//汉字
        			vlen+=2;
        		}
        	}
        	console.log(vlen);
            return vlen>=min&&vlen<=max;
        },
        message: '请最多输入{1}以内的字符'
    },
    /* 两个日期进行比较 */
    compareDate: {
        validator : function(value,param){
            //这里获取日期的方式不一样
            var date = $(param[0]).datebox('getValue');
            return  value >= date  ;
        },
        message : '字段不匹配'
    },
    myDatetime: {
        validator : function(value,param){
            return  /^(\d+)-(\d{1,2})-(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/.test(value);
        },
        message : '请输入正确的日期时间类型,eg:2021-01-01 10:01:01'
    },
    telphone: {
        validator: function (value, param) {
            return /0\d{2,3}-\d{7,8}(-\d{3,4})?$/.test(value);
        },
        message: '固定电话号码不正确(eg:0755-6666666-1234)'
    },
    checkbox: {
        validator: function (value, param) {
        	//alert( param[0]);
        	return $.trim(value) != '';
        },
        message: '请选择一个或者多个复选框'
    },
    radio: {
        validator: function (value, param) {
        	var test=$(param[0]).val();
        	alert('test='+test);
        	return $.trim(value) != '';
        },
        message: '请选择一个单选框'
    },
    select: {
        validator: function (value, param) {
        	//alert(param[0]);
        	return $.trim(value) != '';
        	//return $(param[0]).find("option:contains('"+value+"')").val() != '';
        },
        message: '请选择一个选项'
    },

});



三、参考文档

1、https://www.bbsmax.com/A/gGdXkDmQ54/

2、https://blog.csdn.net/m0_37829277/article/details/106852659

3、https://www.cnblogs.com/Lvhengshuai/p/6826537.html

4、https://www.cnblogs.com/xtreme/p/7282793.html

5、https://bbs.csdn.net/topics/390584032




分享到:

编辑发布时间:2022-06-29 11:34:08