easyUI 插件写法 ---Validatebox 插件为例
easyui 的每个组件都有属性、方法和事件。用户可以很容易地对这些组件进行扩展。
js地址:jquery-easyui-1.3.3/jeasyui-extensions/jeasyui.extensions.validatebox.js
属性
属性是定义在 jQuery.fn.{plugin}.defaults。比如,dialog 的属性是定义在 jQuery.fn.dialog.defaults。
事件
事件(回调函数)也是定义在jQuery.fn.{plugin}.defaults。
方法
调用方法的语法:$('selector').plugin('method', parameter);
其中:
- selector 是 jquery 对象选择器。
- plugin 是插件名称。
- method 是与插件相匹配的已存在方法。
- parameter 是参数对象,可以是对象、字符串...
方法是定义在jQuery.fn.{plugin}.methods。每个方法有两个参数:jq 和 param。第一个参数 'jq' 是必需的,引用 jQuery 对象。第二个参数'param' 引用方法传递的实际参数。比如,要扩展 dialog 组件的方法名为 'mymove' 的方法,代码如下:
$.extend($.fn.dialog.methods, {
mymove: function(jq, newposition){
return jq.each(function(){
$(this).dialog('move', newposition);
});
}
});
案例
检查密码和重新输入密码是相同的。
// extend the 'equals' rule
//demo:data-options="required:true" 或者 data-options="required:true,'equals[\'#pwd\']'"
$.extend($.fn.validatebox.defaults.rules, {
equals: {
validator: function(value,param){
return value == $(param[0]).val();
},
message: '两个密码不能重复'
}
});
给输入框添加ajax验证
//通过给param[2]赋值来展示展示message
//必须有return值,同时也必须是boolean值
borrowUserName:{
validator:function(value, param){
var result = false;
if(value.length >= param[0] && value.length <= param[1]){
$.ajax({
type: "POST",
url:"user.html",
dataType:"json",
data:{"username":value},
success: function(data){
result = !data;
}
});
}else{
param[2] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[2] = "输入的借款人用户名不存在";
return result;
},
message: "{2}"
},
//demo2;param获取传入的实际参数
zyp_remote:{
validator:function(value,param){
var flag = true;
if($(param[1]) && value == $(param[1]).val()){
param[2] = "邀请人与被邀请人不能一样";
flag = false;
return false;
}
$.ajax({
type: "POST",
async:false,
url:"/modules/checkInvitedUser.html?userName="+value +"&type="+param[0],
dataType:"json",
data:{"username":value},
success: function(data){
if(param[0] == 1 && !data.result){
param[2] = "该用户不存在";
flag = data.result;
return flag;
}else if(param[0] == 2 && !data.result){
param[2] = "该用户不存在或者已经被邀请了";
flag = data.result;
return flag;
}
}
});
return flag;
},
message: "{2}"
}
//demo3;
//value为输入的值
//使用:<input type="text" name="QQNum" class="easyui-validatebox" data-options="required: true,validType:'ip'"/>
ip: {
validator: function (value) {
return $.string.isIPv4(value);
},
message: "输入的内容必须是正确的 IP地址v4 格式."
}
使用案例:[数组里面的是入参; type 1:邀请人,2:被邀请人; '#inviteName'表示获取节点]
<input type="text" name="invitedName" class="easyui-validatebox" data-options="required: true,validType:'zyp_remote[2,\'#inviteName\']'" maxlength="20"/>
多重验证使用案例[自从1.3.2版本开始,validatebox自身已经支持多重校验了]
validMobile出入的值可用在 param 中获取【传入的值可以是'#inviteName',表示获取那个输入框的值】; 输入框中的值通过value获取;
//使用:data-options="required:true,validType:['email','length[0,20]','validMobile[\'000\',\'hhhh\']']"
<input type="text" name="Demo" value="" class="easyui-validatebox" data-options="required: true,validType:['mobile','validMobile[\'000\',\'hhhh\']']" maxlength="11" />
easyUI 插件写法 ---Validatebox 插件为例的更多相关文章
- Jquery插件写法及extentd函数
JQuery插件写法 JQuery插件又分为类扩展方法和对象扩展方法两种,类插件是定义在JQuery命令空间的全局函数,直接通过可调用,如可调用,如可调用,如.ajax():对象插件是扩展JQuery ...
- [转]jQuery插件写法总结以及面向对象方式写法
本文转自:http://www.xuanfengge.com/jquery-plug-in-written-summary-and-summary-of-writing-object-oriented ...
- JQ插件写法 扩展JQ方法
目录: 1.基本JQ扩展插件js的格式 2.对JQ选中元素的方法的扩展,调用类似于$("selector").myMethod(),这里的myMethod是自己扩展的方法,与.cl ...
- maven打包需要设置main-class的插件写法
maven打包需要设置main-class的插件写法 <build> <plugins> <plugin> <groupId>org.apache.ma ...
- Vue 插件写法
都说Vue2简单,上手容易,但小马过河,自己试了才晓得,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前随便拿全局变量和修改dom的锤子不能用了,变换到关注数据本身.vue的 ...
- 自己写jquery插件之模版插件高级篇(一)
需求场景 最近项目改版中,发现很多地方有这样一个操作(见下图gif动画演示),很多地方都有用到.这里不讨论它的用户体验怎么样. 仅仅是从复用的角度,如果每个页面都去写text和select元素,两个b ...
- JQUERY EASYUI 验证框(VALIDATEBOX)用法
Query EasyUI 验证框(ValidateBox)在表单的验证方面给我们提供了很方便的方法,下面来介绍一下验证框(ValidateBox)的详细用法(查看演示):HTML 代码 <inp ...
- 在NPAPI开发火狐浏览器插件在NPAPI插件
1.插件是什么 插件是一种遵循一定规范的应用程序接口编写出来的程序.插件必须依附于一个宿主程序,为宿主程序提供增强功能.插件的种类有很多,这里主要讨论浏览器插件. IE下利用OLE和COM技术开发的浏 ...
- [Linux实用工具]munin-node插件配置和插件编写
前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx) 这次介绍一下mun ...
随机推荐
- 64位内核注冊tty设备
在64位系统中,注冊tty设备须要注意的是,Android跑在EL0而且在32位模式下,kernel跑在EL1而且在64位模式下,不但内核须要打开CONFIG_COMPAT选项,非常多android上 ...
- Java 大数类
划分结果存在数组.供应商下标0 在剩下的标记1 import java.math.BigInteger; import java.util.Scanner; public class Main { p ...
- poj 3225 间隙(横截面和填充操作)
http://poj.org/problem?id=3225 一道题又做了一天. .这道题对我来说起初有N多难点. 1:区间的开闭怎样解决. . 2:如何把区间的交并补.对称差转化为对线段树的操作. ...
- 更新代码和工具,组织起来,提供所有博文(C++,2014.09)
为了更容易地管理各种规范和工具所涉及的资源鲍文,现在把这些资源迁移 GitHub 在,趣者可前往下载. C++ 1.<通用高性能 Windows Socket 组件 HP-Socket v3.2 ...
- RH033读书笔记(9)-Lab 10 Understanding the Configuration Tools
Lab 10 Understanding the Configuration Tools Sequence 1: Configuring the Network with system-config- ...
- linux内核数据包转发流程(三)网卡帧接收分析
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 每一个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不 ...
- HDU 3126 Nova [2009 Asia Wuhan Regional Contest Online]
标题效果 有着n巫妖.m精灵.k木.他们都有自己的位置坐标表示.冷却时间,树有覆盖范围. 假设某个巫妖攻击精灵的路线(他俩之间的连线)经过树的覆盖范围,表示精灵被树挡住巫妖攻击不到.求巫妖杀死所有精灵 ...
- Xcode 6 AutoLayout Size Classes
1.基本概念 在iPad和iPhone 5出现之前,iOS设备就唯独一种尺寸. 我们在做屏幕适配时须要考虑的唯独设备方向而已. 而非常多应用并不支持转向,这种话就全然没有屏幕适配的工作了. 随着iPa ...
- RecyclerView0基于使用
(转载请注明出处:http://www.kennethyo.me/post/android/recyclerviewchu-ji-shi-yong) RecyclerView是Android在v7包中 ...
- ASP.NET开发规范:OWIN
ASP.NET开发规范:OWIN 今天投简历 准备面试了... 本节目录: OWIN简介 OWIN规范 Katana Hello World(3种Host) 自定义Middleware OWIN简介 ...