一、validatebox 启用、取消校验
<input id="test" class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">
$("#test").validatebox('enableValidation');
$("#test").validatebox('disableValidation');
二、textbox 启用、取消校验
多个校验则放入validType数组中
<input type="text" id="sender" class="easyui-textbox"
data-options="prompt:'发件人',
validType:['length[1,50]','string'],
invalidMessage:'请输入50字以内的字符',
editable:true"/>
$("#sender").textbox('enableValidation');
$("#sender").textbox('disableValidation');
为什么textbox也可以用这个事件,因为其事件也扩展自validatebox。
三、其他方式
其实还有一种简洁方式,就是设置validType
属性为null
,
即
$("#sender").textbox({validType: null});
// 或
$("#sender").textbox({novalidate: true});
不过不推荐这个,因为如果设置为null,实际项目中,当选项发生改变时,有可能就需要重设,更推荐上面第一、二种,详情见文档,这种方法也可以适用自定义验证,不用重设更为方便。(该方法自版本 1.3.4 起可用,可通过 $("body").jquery
方式查看jquery版本)。感兴趣的同学可以看下下面的自定义验证.
四、设置自定义验证
有些需求需个性化验证信息,那么我们可以进行自定义验证。官方文档也提供了说明
$.extend($.fn.validatebox.defaults.rules, {
minLength: {
validator: function(value, param){
return value.length >= param[0];
},
message: '请至少输入5个字符'
},
testnames: {
validator: function(value, param){
var reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/;
return reg.test(value);
},
message: '只能输入汉字,字母和数字'
}
});
<input class="easyui-validatebox" data-options="validType: 'testnames'">