bootstrap Validator 模態(tài)框、jsp、表單驗(yàn)證 Ajax提交功能
效果圖:

如圖,這是使用Validator插件,所完成的功能,效果很強(qiáng)大,也很方便,這邊推薦使用這種方式,最后介紹一下原始js驗(yàn)證寫法。
首先,導(dǎo)入插件:
<link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen">
<script src="<%=basePath %>bootstrap/js/bootstrapValidator.min.js"></script> <script src="<%=basePath %>bootstrap/js/bootstrapValidator.zh_CN.js"></script> bootstrapvalidator源碼:https://github.com/nghuuphuoc/bootstrapvalidator boostrapvalidator api:http://bv.doc.javake.cn/api/
jsp:
<div class="modal fade" id="myModal_add" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel_add">新增</h4>
</div>
<div class="modal-body" style="height:680px;">
<form id="defaultForm" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="company_name">公司名稱</label>
<div class="col-sm-4">
<input class="form-control" id="company_name" type="text" placeholder="請輸入公司名稱" name="company_name"/>
</div>
<label class="col-sm-2 control-label" for="company_id">公司id</label>
<div class="col-sm-4">
<input class="form-control" id="company_id" type="text" placeholder="請輸入公司id" name="company_id"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="computer_room">機(jī)房</label>
<div class="col-sm-4">
<input class="form-control" id="computer_room" type="text" placeholder="請輸入機(jī)房"/>
</div>
<label class="col-sm-2 control-label" for="cabinet">機(jī)柜</label>
<div class="col-sm-4">
<input class="form-control" id="cabinet" type="text" placeholder="請輸入機(jī)柜"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="equipment_type">設(shè)備類型</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_type" type="text" placeholder="請輸入設(shè)備類型"/>
</div>
<label class="col-sm-2 control-label" for="equipment_name">設(shè)備名稱</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_name" type="text" placeholder="請輸入設(shè)備名稱"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="equipment_ip">設(shè)備ip</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_ip" type="text" placeholder="請輸入設(shè)備ip" name="equipment_ip" />
</div>
<label class="col-sm-2 control-label" for="equipment_brand">設(shè)備品牌</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_brand" type="text" placeholder="請輸入設(shè)備品牌"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="equipment_model">設(shè)備型號</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_model" type="text" placeholder="請輸入設(shè)備型號"/>
</div>
<label class="col-sm-2 control-label" for="shelf_position">上架位置</label>
<div class="col-sm-4">
<input class="form-control" id="shelf_position" type="text" placeholder="請輸入上架位置"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="equipment_sn">設(shè)備SN號</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_sn" type="text" placeholder="請輸入設(shè)備SN號"/>
</div>
<label class="col-sm-2 control-label" for="equipment_pn">設(shè)備PN號</label>
<div class="col-sm-4">
<input class="form-control" id="equipment_pn" type="text" placeholder="請輸入設(shè)備PN號"/>
</div>
</div>
</form>
</div>
<div class="modol-footer" id="button_sub">
<button type="reset" id="btn_reset" class="btn btn-default"><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>重置</button>
<button type="button" id="" name="submit" class="btn btn-primary submit_review"><span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></span>提交審核</button>
</div>
</div>
</div>
</div>
我這邊沒有使用表單提交驗(yàn)證,而已點(diǎn)擊button按鈕,Ajax提交,注意一下。
js:
$(function(){/* 文檔加載,執(zhí)行一個(gè)函數(shù)*/
// $(".submit_review").attr({"disabled":"disabled"});
$('#defaultForm').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {/*輸入框不同狀態(tài),顯示圖片的樣式*/
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {/*驗(yàn)證*/
company_name: {/*鍵名username和input name值對應(yīng)*/
validators: {
notEmpty: {/*非空提示*/
message: '公司名稱不能為空'
},
// stringLength: {/*長度提示*/
// min: 6,
// max: 30,
// message: '用戶名在6到30之間'
// }/*最后一個(gè)沒有逗號*/
}
},
company_id: {
validators: {
notEmpty: {
message: '公司ID不能為空'
},
}
},
equipment_ip: {
validators: {
notEmpty: {
message: '設(shè)備IP不能為空'
},
regexp: {
regexp: /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,
message: '設(shè)備IP不合法'
}
}
},
}
})
});
$("#btn_reset").click(function(event) {
/* Act on the event */
$('#defaultForm').data('bootstrapValidator').resetForm(true);
});
$("body").on('click', '#btn_submit_add', function(event) {
/* Act on the event */
$('#defaultForm').bootstrapValidator('validate');
var flag = $("#defaultForm").data('bootstrapValidator').isValid();
if (!flag) {
toastr.error("填寫有誤,請重新填寫!");
} else {
$.post('addEquipmentInfoCheck.action', {
"equipmentInfoCheck.companyId": $("#company_id").val(),
"equipmentInfoCheck.companyName": $("#company_name").val(),
"equipmentInfoCheck.machineRoom": $("#computer_room").val(),
"equipmentInfoCheck.equipmentCabinet": $("#cabinet").val(),
"equipmentInfoCheck.deviceType": $("#equipment_type").val(),
"equipmentInfoCheck.deviceName": $("#equipment_name").val(),
"equipmentInfoCheck.deviceIp": $("#equipment_ip").val(),
"equipmentInfoCheck.deviceBrand": $("#equipment_brand").val(),
"equipmentInfoCheck.deviceModel": $("#equipment_model").val(),
"equipmentInfoCheck.position": $("#shelf_position").val(),
"equipmentInfoCheck.deviceSn": $("#equipment_sn").val(),
"equipmentInfoCheck.devicePn": $("#equipment_pn").val(),
"equipmentInfoCheck.state":1
}, function(data, textStatus, xhr) {
/*optional stuff to do after success */
if (textStatus == "success") {
// e.preventDefault();
$('#defaultForm').data('bootstrapValidator').resetForm(true);
$("#myModal_add").modal('hide');
toastr.success("提交成功");
}else{
$("#myModal_add").modal('hide');
toastr.error("提交失敗");
}
});
}
});
OK,至此模態(tài)框驗(yàn)證,提交就完成了~
下面附上原始js校驗(yàn):
$("#equipment_ip").blur(function(){
var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ ;
var flag=reg.test($(this).val());
if(!flag){
toastr.error("IP不合法,請重新輸入");
$(this).val("");
}
);
以上所述是小編給大家介紹的bootstrap Validator 模態(tài)框、jsp、表單驗(yàn)證 Ajax提交功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- AngularJs 彈出模態(tài)框(model)
- JS實(shí)現(xiàn)圖片點(diǎn)擊后出現(xiàn)模態(tài)框效果
- js實(shí)現(xiàn)簡單模態(tài)框?qū)嵗?/a>
- Vue.js彈出模態(tài)框組件開發(fā)的示例代碼
- js利用事件的阻止冒泡實(shí)現(xiàn)點(diǎn)擊空白模態(tài)框的隱藏
- angularJS模態(tài)框$modal實(shí)例代碼
- AngularJS中使用ngModal模態(tài)框?qū)嵗?/a>
- AngularJS模態(tài)框模板ngDialog的使用詳解
- 原生js實(shí)現(xiàn)簡單的模態(tài)框示例
- JavaScript+CSS實(shí)現(xiàn)模態(tài)框效果
相關(guān)文章
詳解如何在Canvas上實(shí)現(xiàn)坐標(biāo)定位
這篇文章我們將來詳細(xì)的給大家講解一下如何在 canvas 上實(shí)現(xiàn)坐標(biāo)的定位,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2023-08-08
video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解
這篇文章主要介紹了video.js 實(shí)現(xiàn)視頻只能后退不能快進(jìn)的思路詳解,主要思路是點(diǎn)擊進(jìn)度條需要獲取拖動前的時(shí)間點(diǎn),具體實(shí)例代碼大家跟隨小編一起看看吧2018-08-08
javascript中動態(tài)加載js文件多種解決辦法總結(jié)
這篇文章主要介紹了javascript中動態(tài)加載js文件多種解決辦法,有需要的朋友可以參考一下2013-11-11
小程序?qū)崿F(xiàn)計(jì)時(shí)器小功能
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)計(jì)時(shí)器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
JavaScript+Canvas模擬實(shí)現(xiàn)支付寶畫年兔游戲
接近過年了,支付寶的集福的活動又開始了,集美們的五福集齊了沒有。每年的集?;顒佣加幸恍┬∮螒颍衲暌膊焕?,畫年畫就是其中之一,本篇用canvas來寫一個(gè)畫年兔的游戲2023-01-01
微信小程序?qū)崿F(xiàn)添加手機(jī)聯(lián)系人功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)添加手機(jī)聯(lián)系人功能,結(jié)合實(shí)例形式分析了微信小程序添加聯(lián)系人的具體步驟,包括布局與邏輯實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-11-11

