引入參考最下面API
missingMessage:未填寫時顯示的信息
validType:驗證類型見下示例
invalidMessage:無效的數據類型時顯示的信息
required="true" 必填項
class="easyui-validatebox" 文本驗證
class="easyui-numberbox" 數字驗證
validType:驗證類型見下示例
invalidMessage:無效的數據類型時顯示的信息
required="true" 必填項
class="easyui-validatebox" 文本驗證
class="easyui-numberbox" 數字驗證
html
郵箱驗證:<input type="text" validtype="email" required="true" missingMessage="不能為空" invalidMessage="郵箱格式不正確" /><br />
網址驗證:<input type="text" validtype="url" invalidMessage="url格式不正確[http://www.example.com]" /><br />
長度驗證:<input type="text" validtype="length[8,20]" invalidMessage="有效長度8-20" /><br />
手機驗證:<input type="text" validtype="mobile" /><br />
郵編驗證:<input type="text" validtype="zipcode" /><br />
賬號驗證:<input type="text" validtype="account[8,20]" /><br />
漢子驗證:<input type="text" validtype="CHS" /><br />
遠程驗證:<input type="text" validtype="remote['checkname.aspx','name']" invalidMessage="用戶名已存在"/>
js
// easyui通用驗證規則
$.extend($.fn.validatebox.defaults.rules, {
date: {
validator: function (value) {
var reg = /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/;
return reg.test(value);
},
message: '日期格式不正確 YYYY-MM-DD'
},
integer: {
validator: function (value) {
var reg = /^[\-\+]?\d+$/;
return reg.test(value);
},
message: '無效的整數'
},
number: {
validator: function (value) {
var reg = /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/;
return reg.test(value);
},
message: '無效的數值'
},
mobile: {
validator: function (value) {
alert(123)
var reg = /^1[3|4|5|8|9]\d{9}$/;
return reg.test(value);
},
message: '輸入手機號碼格式不准確.'
}
})
$.extend($.fn.validatebox.defaults.rules, {
ajaxLookName: {//ajax驗證
validator: function (value) {
$.post((baseURL+"/housemanage/nhousegroupdef/vaild/lookhousename"),{houseName:value},function(rec){
if(rec.code == "0"){
if(rec.data.result){
$.fn.validatebox.defaults.rules.ajaxLookName.message='看房團名稱已被其它用戶定義過,請修改!';
return false;
}else{
return true;
}
}else{
alert(rec.desc);
}
},"json").error(function(){
alert("請求失敗!");
});
},
message: ''
}
})
驗證
$($($addDiv).find("#addForm")).form('validate')//返回 true false
至於 要不要加
$('input[type=text]').validatebox(
); 使所有驗證生效,api上說 設置了樣式可以不必加,但是實際中和bootstarp集成中不能調用,一調用就出現莫名其妙的錯誤
最后說一下 easyui、不支持組合校驗 渣渣 我也懶得自定義多種規則了 最多只能支持 一個必填 和 一個自定義驗證
以上是正常的使用
與bootstarp使用的時候又出現各種奇葩問題
1.easyui js 要引兩次
2.自定義的驗證規則要寫在第二次引easy ui 前面 否則不生效
3.自定義的ajax的規則不生效了,需要自己自定義 , 采用隱藏框吧
4.$('input[type=text]').validatebox(); 使所有驗證生效,api上說 設置了樣式可以不必加,但是實際中和bootstarp集成中不能調用,一調用就出現莫名其妙的錯誤
第二種bug 代碼
<link rel="stylesheet" href="${baseURL}/js/3rd-plug/easy-ui-1.4.2/themes/black/easyui.css" type="text/css"/>
<link rel="stylesheet" href="${baseURL}/js/3rd-plug/easy-ui-1.4.2/themes/icon.css" type="text/css"/>
<script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/locale/common_validation-zh_CN.js"></script>
<script>
$.extend($.fn.validatebox.defaults.rules, {
datecompare: {
validator: function (value) {
if($('#regEndtime').val()&&$('#regBegintime').val()>$('#regEndtime').val()){
return false;
}
return true;
},
message: '報名開始時間不能大於報名截止時間,請修改!'
},
lookhousedatecompare: {
validator: function (value) {
if($('#regEndtime').val()&&$('#lookhousetime').val()<$('#regEndtime').val()){
return false;
}
return true;
},
message: '看房時間必須大於報名截止時間,請修改!'
},
numcompare: {
validator: function (value) {
if($('#maxNum').val()&&$('#minNum').val()>$('#maxNum').val()){
return false;
}
return true;
},
message: '成團最低人數必須不能大於成團最高人數,請修改!'
}
})
</script>
- <script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/jquery.easyui.min.js"></script>
如上圖 自定義驗證規則要引在第二次前面
第三種bug 代碼
$("#lookhousegroupName").on("blur",function(){
if($("#lookhousegroupName").hasClass("validatebox-invalid")){
return;
}
$.post((baseURL+"/housemanage/nhousegroupdef/vaild/lookhousename"),{houseName:($(this).val())},function(rec){
if(rec.code == "0"){
if(rec.data.result){
$("#lookhousegroupNameajax").val("0");
return false;
}else{
$("#lookhousegroupNameajax").val("1");
}
}else{
alert(rec.desc);
}
},"json").error(function(){
alert("請求失敗!");
});
})
如上
$
(
"#lookhousegroupName"
).
hasClass
(
"validatebox-invalid"
) 加上這句 , 是要等元素驗證通過后 再調用ajax,防止不必要的多余驗證
最后貼上 api
通過 $.fn.validatebox.defaults 重寫默認的 defaults。
驗證框(validatebox)是為了驗證表單輸入字段而設計的。如果用戶輸入無效的值,它將改變背景顏色,顯示警告圖標和提示消息。驗證框(validatebox)可與表單(form)插件集成,防止提交無效的字段。

依賴
- tooltip
用法
從標記創建驗證框(validatebox)。
- <input id="vv" class="easyui-validatebox" data-options="required:true,validType:'email'">
使用 javascript 創建驗證框(validatebox)。
- <input id="vv">
- $('#vv').validatebox({
- required: true,
- validType: 'email'
- });
檢查密碼和重新輸入密碼是相同的。
- // extend the 'equals' rule
- $.extend($.fn.validatebox.defaults.rules, {
- equals: {
- validator: function(value,param){
- return value == $(param[0]).val();
- },
- message: 'Field do not match.'
- }
- });
- <input id="pwd" name="pwd" type="password" class="easyui-validatebox" data-options="required:true">
- <input id="rpwd" name="rpwd" type="password" class="easyui-validatebox"
- required="required" validType="equals['#pwd']">
驗證規則
驗證規則是通過使用 required 和 validType 屬性來定義的,這里是已經實施的規則:
- email:匹配 email 正則表達式規則。
- url:匹配 URL 正則表達式規則。
- length[0,100]:允許從 x 到 y 個字符。
- remote['http://.../action.do','paramName']:發送 ajax 請求來驗證值,成功時返回 'true' 。
要自定義驗證規則,重寫 $.fn.validatebox.defaults.rules,來定義一個驗證函數和無效的信息。例如,定義一個 minLength 驗證類型:
- $.extend($.fn.validatebox.defaults.rules, {
- minLength: {
- validator: function(value, param){
- return value.length >= param[0];
- },
- message: 'Please enter at least {0} characters.'
- }
- });
現在您可以使用這個 minLength 驗證類型來定義一個至少輸入5個字符的輸入框:
- <input class="easyui-validatebox" data-options="validType:'minLength[5]'">
屬性
名稱 | 類型 | 描述 | 默認值 |
---|---|---|---|
required | boolean | 定義是否字段應被輸入。 | false |
validType | string,array | 定義字段的驗證類型,比如 email、url,等等。可能的值: 1、驗證類型字符串,應用單個驗證規則。 2、驗證類型數組,應用多個驗證規則。單個字段上的多個驗證規則自版本 1.3.2 起可用。 代碼實例:
|
null |
delay | number | 延遲驗證最后的輸入值。該屬性自版本 1.3.2 起可用。 | 200 |
missingMessage | string | 當文本框為空時出現的提示文本。 | 該字段是必需的。 |
invalidMessage | string | 當文本框的內容無效時出現的提示文本。 | null |
tipPosition | string | 定義當文本框的內容無效時提示消息的位置。可能的值:'left'、'right'。該屬性自版本 1.3.2 起可用。 | right |
deltaX | number | 在 X 方向的提示偏移。該屬性自版本 1.3.3 起可用。 | 0 |
novalidate | boolean | 當設置為 true 時,則禁用驗證。該屬性自版本 1.3.4 起可用。 | false |
方法
名稱 | 參數 | 描述 |
---|---|---|
destroy | none | 移除並銷毀該組件。 |
validate | none | 進行驗證以判定文本框的內容是否有效。 |
isValid | none | 調用 validate 方法並且返回驗證結果,true 或者 false。 |
enableValidation | none | 啟用驗證。該方法自版本 1.3.4 起可用。 |
disableValidation | none | 禁用驗證。該方法自版本 1.3.4 起可用。 |