修复系统配置页面表单校验逻辑错误的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,3 +1,7 @@
ipFlag = true;
gateWayFlag = true;
maskFlag = true;
macFlag = true;
//全部选中/或不选 //全部选中/或不选
function allSelect(obj){ function allSelect(obj){
var b = false; var b = false;
@@ -92,87 +96,93 @@
// 验证ip是否合法 // 验证ip是否合法
function checkIp(data){ function checkIp(data){
changeFlag=true;
$(data).parent().find(".ip_error").remove(); $(data).parent().find(".ip_error").remove();
$(data).parent().find(".ip_success").remove();
var inputString = $(data).val(); var inputString = $(data).val();
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])$/; 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])$/;
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 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*$/;
if(inputString==undefined||inputString==''){
if (!inputString) {
$(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>")
changeFlag=false; ipFlag = false;
return; return;
} }
var ip4flag = inputString.match(ip4Match); var ip4flag = inputString.match(ip4Match);
var ip6flag = inputString.match(ip6Match); var ip6flag = inputString.match(ip6Match);
if(ip4flag!=undefined&&ip4flag!=""){ if (ip4flag) {
$(data).parent().append("<span class='help-inline ip_success' style='color:green'>√</span>") ipFlag = true;
}else if(ip6flag!=undefined&&ip6flag!=""){ } else if (ip6flag) {
$(data).parent().append("<span class='help-inline ip_success' style='color:green'>√</span>") ipFlag = true;
} else { } else {
$(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline ip_error' style='color:red'>×</span>")
changeFlag=false; ipFlag = false;
} }
} }
// 校验网关 // 校验网关
function checkGateway(data){ function checkGateway(data, flag) {
changeFlag=true;
$(data).parent().find(".gateway_error").remove(); $(data).parent().find(".gateway_error").remove();
$(data).parent().find(".gateway_success").remove();
var static_gw = $(data).val(); var static_gw = $(data).val();
if(static_gw=='') if (!static_gw && flag == 0) {
{ gateWayFlag = true;
return;
}
if (!static_gw) {
$(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>")
changeFlag=false; gateWayFlag = false;
return; return;
} }
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])$/; 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])$/;
var gatewayflag = static_gw.match(gatewayMatch); var gatewayflag = static_gw.match(gatewayMatch);
if(gatewayflag!=undefined&&gatewayflag!=""){ if (gatewayflag) {
$(data).parent().append("<span class='help-inline gateway_success' style='color:green'>√</span>") gateWayFlag = true;
} else { } else {
$(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline gateway_error' style='color:red'>×</span>")
changeFlag=false; gateWayFlag = false;
return;
} }
} }
//校验掩码 //校验掩码
function checkMask(data){ function checkMask(data, flag) {
changeFlag=true;
$(data).parent().find('.mask_success').remove(); $(data).parent().find('.mask_success').remove();
$(data).parent().find('.mask_error').remove(); $(data).parent().find('.mask_error').remove();
var mask = $(data).val(); var mask = $(data).val();
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)$/; 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)$/;
if(mask==undefined||mask==''){ if (!mask && flag == 0) {
maskFlag = true;
return;
}
if (!mask) {
$(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>")
changeFlag=false; maskFlag = false;
return; return;
} }
var maskflag = mask.match(maskMatch); var maskflag = mask.match(maskMatch);
if(maskflag!=undefined&&maskflag!=""){ if (maskflag) {
$(data).parent().append("<span class='help-inline mask_success' style='color:green'>√</span>") maskFlag = true;
} else { } else {
$(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>") $(data).parent().append("<span class='help-inline mask_error' style='color:red'>×</span>")
changeFlag=false; maskFlag = false;
} }
} }
//校验mac //校验mac
function checkMac(data){ function checkMac(data, flag) {
$(data).parent().find(".mac_error").remove(); $(data).parent().find(".mac_error").remove();
$(data).parent().find(".mac_success").remove(); $(data).parent().find(".mac_success").remove();
var inputString = $(data).val(); 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 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 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}$/;
if(inputString==undefined||inputString==''){ if (!inputString && flag == 0) {
macFlag = true;
return;
}
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;
} }
@@ -182,20 +192,18 @@
mac2 = inputString.split("-"); mac2 = inputString.split("-");
if(!(mac1.length == 6||mac2.length==6)){ if(!(mac1.length == 6||mac2.length==6)){
$(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 macflag1 = inputString.match(macMatch1);
var macflag2 = inputString.match(macMatch2); var macflag2 = inputString.match(macMatch2);
if(macflag!=undefined&&macflag!=""){ if(macflag1) {
changeFlag=true macFlag = true
$(data).parent().append("<span class='help-inline mac_success' style='color:green'>√</span>") } else if (macflag2){
}else if(macflag2!=undefined&&macflag2!=""){ macFlag = true
changeFlag=true
$(data).parent().append("<span class='help-inline mac_success' style='color:green'>√</span>")
}else{ }else{
$(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;
} }
} }