修复系统配置页面表单校验逻辑错误的bug

This commit is contained in:
chenjinsong
2018-10-12 11:55:59 +08:00
parent 68315d7a6a
commit 46d541d142
2 changed files with 212 additions and 204 deletions

View File

@@ -236,7 +236,7 @@ label.control-label{
<input class="input-medium focused" id="" <input class="input-medium focused" id=""
type="text" value="#(deviceInfo.manageMac)" type="text" value="#(deviceInfo.manageMac)"
name="deviceInfo#(for.index).manageMac" name="deviceInfo#(for.index).manageMac"
onblur="checkMac(this)"> onblur="checkMac(this, #(deviceInfo.manageMac == null || deviceInfo.manageMac == '' ? 0 : 1))">
</div> </div>
</div> </div>
</td> </td>
@@ -247,7 +247,7 @@ label.control-label{
<input class="input-medium focused" id="" type="text" <input class="input-medium focused" id="" type="text"
value="#(deviceInfo.manageMask)" value="#(deviceInfo.manageMask)"
name="deviceInfo#(for.index).manageMask" name="deviceInfo#(for.index).manageMask"
onblur='checkMask(this)'> onblur="checkMask(this, #(deviceInfo.manageMask == null || deviceInfo.manageMask == '' ? 0 : 1))">
</div> </div>
</div> </div>
</td> </td>
@@ -260,7 +260,7 @@ label.control-label{
<input class="input-medium focused" id="" type="text" <input class="input-medium focused" id="" type="text"
value="#(deviceInfo.manageGateway)" value="#(deviceInfo.manageGateway)"
name="deviceInfo#(for.index).manageGateway" name="deviceInfo#(for.index).manageGateway"
onblur="checkGateway(this)"> onblur="checkGateway(this, #(deviceInfo.manageGateway == null || deviceInfo.manageGateway == '' ? 0 : 1))">
</div> </div>
</div> </div>
</td> </td>
@@ -372,7 +372,7 @@ label.control-label{
}); });
dialog.getModalHeader().hide();--# dialog.getModalHeader().hide();--#
if(changeFlag){ if(ipFlag && gateWayFlag && maskFlag && macFlag){
top.$("#dialog").text("#(_res.get('confirm.update'))"); top.$("#dialog").text("#(_res.get('confirm.update'))");
top.$("#dialog").dialog({ top.$("#dialog").dialog({
dialogClass: "no-close", dialogClass: "no-close",

View File

@@ -1,201 +1,209 @@
//全部选中/或不选 ipFlag = true;
function allSelect(obj){ gateWayFlag = true;
var b = false; maskFlag = true;
if(obj.checked){ macFlag = true;
b = true; //全部选中/或不选
}else{ function allSelect(obj){
b = false; var b = false;
} if(obj.checked){
checkbox = document.all.checkRecords; b = true;
if(checkbox){ }else{
if(checkbox.length){ b = false;
size = checkbox.length; }
for(i=0;i<size;i++){ checkbox = document.all.checkRecords;
try{ if(checkbox){
checkbox[i].checked=b; if(checkbox.length){
} catch(ex) { size = checkbox.length;
; for(i=0;i<size;i++){
} try{
} checkbox[i].checked=b;
}else{ } catch(ex) {
checkbox.checked = b; ;
} }
} }
} }else{
//删除选择记录 checkbox.checked = b;
var delMsg = true; }
function delSelectRecords(url){ }
if(delMsg){ }
if(!window.confirm("确认删除记录?"))return; //删除选择记录
} var delMsg = true;
var b = false; function delSelectRecords(url){
checkbox = document.all.checkRecords; if(delMsg){
size = checkbox.length; if(!window.confirm("确认删除记录?"))return;
if(size){ }
for(i=0;i<size;i++){ var b = false;
try{ checkbox = document.all.checkRecords;
if(checkbox[i].checked){ size = checkbox.length;
b = true; if(size){
break; for(i=0;i<size;i++){
} try{
} catch(ex) { if(checkbox[i].checked){
; b = true;
} break;
} }
}else{ } catch(ex) {
if(checkbox.checked){ ;
b = true; }
} }
} }else{
if(!b){ if(checkbox.checked){
alert("请选择要删除的记录!"); b = true;
return; }
} }
document.forms(0).action = url; if(!b){
document.forms(0).submit(); alert("请选择要删除的记录!");
} return;
//删除某行记录 }
function delRecord(obj,url){ document.forms(0).action = url;
if(!window.confirm("确认删除记录?"))return; document.forms(0).submit();
checkbox = document.all.checkRecords; }
if(checkbox){ //删除某行记录
if(checkbox.length){ function delRecord(obj,url){
size = checkbox.length; if(!window.confirm("确认删除记录?"))return;
for(i=0;i<size;i++){ checkbox = document.all.checkRecords;
try{ if(checkbox){
checkbox[i].checked=false; if(checkbox.length){
} catch(ex) { size = checkbox.length;
; for(i=0;i<size;i++){
} try{
} checkbox[i].checked=false;
}else{ } catch(ex) {
checkbox.checked = false; ;
} }
} }
}else{
delMsg = false; checkbox.checked = false;
var checkObj = obj.parentElement.parentElement.cells(0).childNodes(1); }
//alert(obj.parentElement.parentElement.cells(0).childNodes(0).id); }
checkObj.checked = true;
delSelectRecords(url); delMsg = false;
} var checkObj = obj.parentElement.parentElement.cells(0).childNodes(1);
//alert(obj.parentElement.parentElement.cells(0).childNodes(0).id);
//选择数据/下拉菜单 checkObj.checked = true;
function checkSelect(obj,value){ delSelectRecords(url);
for(i=0;i<obj.options.length;i++){ }
if(obj.options[i].value == value){
obj.options[i].selected = true; //选择数据/下拉菜单
break; function checkSelect(obj,value){
} for(i=0;i<obj.options.length;i++){
} if(obj.options[i].value == value){
} obj.options[i].selected = true;
break;
// 验证ip是否合法 }
function checkIp(data){ }
changeFlag=true; }
$(data).parent().find(".ip_error").remove();
$(data).parent().find(".ip_success").remove(); // 验证ip是否合法
var inputString = $(data).val(); function checkIp(data){
var ip4Match=/^(\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])$/; $(data).parent().find(".ip_error").remove();
var ip6Match=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; var inputString = $(data).val();
if(inputString==undefined||inputString==''){ var ip4Match = /^(\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])$/;
$(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>") var ip6Match = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;
changeFlag=false;
return; if (!inputString) {
} $(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>")
var ip4flag=inputString.match(ip4Match); ipFlag = false;
var ip6flag=inputString.match(ip6Match); return;
if(ip4flag!=undefined&&ip4flag!=""){ }
$(data).parent().append("<span class='help-inline ip_success' style='color:green'>√</span>") var ip4flag = inputString.match(ip4Match);
}else if(ip6flag!=undefined&&ip6flag!=""){ var ip6flag = inputString.match(ip6Match);
$(data).parent().append("<span class='help-inline ip_success' style='color:green'>√</span>") if (ip4flag) {
}else{ ipFlag = true;
$(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>") } else if (ip6flag) {
changeFlag=false; ipFlag = true;
} } else {
} $(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>")
ipFlag = false;
// 校验网关 }
function checkGateway(data){ }
changeFlag=true;
$(data).parent().find(".gateway_error").remove(); // 校验网关
$(data).parent().find(".gateway_success").remove(); function checkGateway(data, flag) {
var static_gw=$(data).val(); $(data).parent().find(".gateway_error").remove();
var static_gw = $(data).val();
if(static_gw=='')
{ if (!static_gw && flag == 0) {
$(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>") gateWayFlag = true;
changeFlag=false; return;
return; }
} if (!static_gw) {
var gatewayMatch=/^(\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])$/; $(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>")
var gatewayflag=static_gw.match(gatewayMatch); gateWayFlag = false;
return;
if(gatewayflag!=undefined&&gatewayflag!=""){ }
$(data).parent().append("<span class='help-inline gateway_success' style='color:green'>√</span>") var gatewayMatch = /^(\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])$/;
}else{ var gatewayflag = static_gw.match(gatewayMatch);
$(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>")
changeFlag=false; if (gatewayflag) {
return; gateWayFlag = true;
} } else {
$(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>")
} gateWayFlag = false;
}
//校验掩码
function checkMask(data){ }
changeFlag=true;
$(data).parent().find('.mask_success').remove(); //校验掩码
$(data).parent().find('.mask_error').remove(); function checkMask(data, flag) {
var mask = $(data).val(); $(data).parent().find('.mask_success').remove();
var maskMatch=/^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/; $(data).parent().find('.mask_error').remove();
if(mask==undefined||mask==''){ var mask = $(data).val();
$(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>") var maskMatch = /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/;
changeFlag=false; if (!mask && flag == 0) {
return; maskFlag = true;
} return;
}
var maskflag=mask.match(maskMatch); if (!mask) {
if(maskflag!=undefined&&maskflag!=""){ $(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>")
$(data).parent().append("<span class='help-inline mask_success' style='color:green'>√</span>") maskFlag = false;
}else{ return;
$(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>") }
changeFlag=false;
} var maskflag = mask.match(maskMatch);
} if (maskflag) {
maskFlag = true;
//校验mac } else {
function checkMac(data){ $(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>")
$(data).parent().find(".mac_error").remove(); maskFlag = false;
$(data).parent().find(".mac_success").remove(); }
var inputString = $(data).val(); }
var macMatch=/^[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}$/;
var macMatch2=/^[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}$/; //校验mac
if(inputString==undefined||inputString==''){ function checkMac(data, flag) {
$(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>") $(data).parent().find(".mac_error").remove();
changeFlag=false; $(data).parent().find(".mac_success").remove();
return; var inputString = $(data).val();
} var macMatch1 = /^[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}$/;
var macMatch2 = /^[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}$/;
var mac1 = new Array(); if (!inputString && flag == 0) {
mac1 = inputString.split(":"); macFlag = true;
var mac2 =new Array(); return;
mac2 = inputString.split("-"); }
if(!(mac1.length == 6||mac2.length==6)){ if (!inputString) {
$(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>")
changeFlag=false; macFlag = false;
return; return;
} }
var macflag=inputString.match(macMatch); var mac1 = new Array();
var macflag2=inputString.match(macMatch2); mac1 = inputString.split(":");
if(macflag!=undefined&&macflag!=""){ var mac2 =new Array();
changeFlag=true mac2 = inputString.split("-");
$(data).parent().append("<span class='help-inline mac_success' style='color:green'>√</span>") if(!(mac1.length == 6||mac2.length==6)){
}else if(macflag2!=undefined&&macflag2!=""){ $(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>")
changeFlag=true macFlag = false;
$(data).parent().append("<span class='help-inline mac_success' style='color:green'>√</span>") return;
}else{ }
$(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>")
changeFlag=false; var macflag1 = inputString.match(macMatch1);
} var macflag2 = inputString.match(macMatch2);
if(macflag1) {
macFlag = true
} else if (macflag2){
macFlag = true
}else{
$(data).parent().append("<span class='help-inline mac_error' style='color:red'>×</span>")
macFlag = false;
}
} }