一、說明
jQuery.validationEngine表單驗證控件功能強大,自帶了樣式顯示模式:
1.字符類型:非空驗證、最大長度、最小長度、相等判斷、數字和空格、數字和英文字母
2.數字類型:數字、整數、最大值、最小值
3.日期類型:日期(yyyy-MM-dd/ yyyy/MM/dd等)、日期+時間、最小日期、最大日期、日期時間段
4.業務字段:url、email、phone、ipv4;ciaoca版擴展支持:qq、郵政編碼、身份證、漢字。
5.Ajax後台驗證:支持全局擴展定義,後台可定義消息內容,但是沒有回調處理的擴展。
6.其他自定義擴展。
二、相關文檔
1.Git源代碼地址:https://github.com/posabsolute/jQuery-Validation-Engine
2.中文文檔API參考:http://code.ciaoca.com/jquery/validation-engine/
3.中文優化版 Ciaoca下載
4.Asp.NET Demo實例源代碼地址:https://git.oschina.net/tiama3798/BootstrapBack_Demo/tree/JQuery.validationEngine
三、其他表單標簽驗證
1.引用:
<link href="~/Scripts/validation/validationEngine.jquery.css" rel="stylesheet" /> <script src="~/Scripts/validation/jquery.validationEngine.js"></script> <script src="~/Scripts/validation/jquery.validationEngine-zh_CN.js"></script> <script src="~/Scripts/validation/jquery.validationEngine.js"></script>
2.HTMl:
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">常用業務字段驗證</div>
</div>
<div class="panel-body">
<form role="form" id="form1" class="demoform" action="#">
<div class="form-group">
<label class="control-label">分類:</label>
<div class="select">
<select class="form-control validate[required]" name="type">
<option value="">==請選擇==</option>
<option value="1">一星級</option>
<option value="2">二星級</option>
<option value="3">三星級</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label">多選框:</label>
<div>
<label class="checkbox-inline">
<input class="validate[minCheckbox[2]]" type="checkbox" name="chb1" />一星級
</label>
<label class="checkbox-inline">
<input class="validate[minCheckbox[2]]" type="checkbox" name="chb1" />二星級
</label>
<label class="checkbox-inline">
<input class="validate[minCheckbox[2]]" type="checkbox" name="chb1" />三星級
</label>
</div>
</div>
<div class="form-group">
<label class="control-label">單選框:</label>
<div>
<label class="radio-inline">
<input class="validate[required]" type="radio" name="rad1" />男
</label>
<label class="radio-inline">
<input class="validate[required]" type="radio" name="rad1" />女
</label>
<label class="radio-inline">
<input class="validate[required]" type="radio" name="rad1" />其他
</label>
</div>
</div>
<div class="form-group">
<label class="control-label">簡介:</label>
<textarea class="form-control validate[required]"></textarea>
</div>
<div class="form-group">
<label class="control-label">
上傳圖片:
</label>
<div >
<input type="file" class="form-control validate[required]" />
</div>
</div>
<div>
<br /><br />
<input type="submit" class="btn btn-success" value="提交" />
</div>
</form>
</div>
</div>
3.Js:
$(function () {
/*
* 特別說明:
* 1.對於select標簽,必須都指定value屬性,沒有可以指定空字符串
* 2.對於checkbox和radio驗證失敗消息,顯示在第一個按鈕附近
*/
//自定義錯誤顯示位置
$('.demoform').validationEngine({
promptPosition: 'bottomRight',
addPromptClass: 'formError-white'
});
});
顯示結果:

三、Ajax後台驗證實例:
1.後台定義:
public JsonResult Exists(string fieldId, string fieldValue)
{
if (fieldValue.Length > 3)
return Json(new object[] { fieldId, true});
return Json(new object[] { fieldId,false });
}
public JsonResult GetInfoByCode(string fieldId, string fieldValue)
{
if (fieldValue.Length > 3)
return Json(new object[] { fieldId, true, "張三豐" });
return Json(new object[] { fieldId, false, "驗證失敗" });
}
public JsonResult GetByName(string fieldId, string fieldValue)
{
if (fieldValue.Length > 3)
return Json(new object[] { fieldId, true, "後台驗證成功", new {
name="張三豐",
age=20
} });
return Json(new object[] { fieldId, false, "驗證失敗,來自後台的消息" });
}
2.ajax驗證方法擴展:

3.HTML定義:
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">Ajax後台驗證</div>
</div>
<div class="panel-body">
<form role="form" id="form1" class="demoform" action="#">
<div class="form-group">
<label class="control-label">昵稱:</label>
<input class="form-control validate[required,ajax[ajaxNickName]]" name="nickname" />
</div>
<div class="form-group">
<label class="control-label">編號:</label>
<input class="form-control validate[required,ajax[ajaxCode]]" name="code" value="12" />
</div>
<div class="form-group">
<label class="control-label">編號:</label>
<input class="form-control validate[required,ajax[ajaxName]]" name="code" value="12" />
</div>
<div>
<input type="submit" class="btn btn-success" value="提交" />
</div>
</form>
</div>
</div>
4.JS
/*
* 特別說明:
* 1.ajax驗證規則或其他擴展驗證規則,可以擴充在jquery.validationEngine-zh_CN.js中
* 2.ajax後台的返回json對象格式:
* 返回數據內容:[String,Boolean]
* 第一個值類型為 String,是接收到 fieldId 的值;
* 第二個值類型為 Boolean,驗證通過返回 true,不通過返回 false
* 3.如果有第三個值可以作為‘消息內容顯示',
* 4.對於單個Ajax驗證提交,沒有提供回調處理等事件
*/
//自定義錯誤顯示位置
$('.demoform').validationEngine({
promptPosition: 'bottomRight',
//此屬性,指定ajax提交表以及字段ajax驗證的方式
ajaxFormValidationMethod: 'post',
//指定使用Ajax模式提交表單處理
ajaxFormValidation: true,
onAjaxFormComplete: function (status, form, json, options) {
console.info(status);
console.info(form);
},
onBeforeAjaxFormValidation: function (form, options) {
console.info(form);
}
});
顯示結果:

以上所述是小編給大家介紹的JQuery.validationEngine表單驗證插件(推薦),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!