修复系统配置页面表单校验逻辑错误的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=""
type="text" value="#(deviceInfo.manageMac)"
name="deviceInfo#(for.index).manageMac"
onblur="checkMac(this)">
onblur="checkMac(this, #(deviceInfo.manageMac == null || deviceInfo.manageMac == '' ? 0 : 1))">
</div>
</div>
</td>
@@ -247,7 +247,7 @@ label.control-label{
<input class="input-medium focused" id="" type="text"
value="#(deviceInfo.manageMask)"
name="deviceInfo#(for.index).manageMask"
onblur='checkMask(this)'>
onblur="checkMask(this, #(deviceInfo.manageMask == null || deviceInfo.manageMask == '' ? 0 : 1))">
</div>
</div>
</td>
@@ -260,7 +260,7 @@ label.control-label{
<input class="input-medium focused" id="" type="text"
value="#(deviceInfo.manageGateway)"
name="deviceInfo#(for.index).manageGateway"
onblur="checkGateway(this)">
onblur="checkGateway(this, #(deviceInfo.manageGateway == null || deviceInfo.manageGateway == '' ? 0 : 1))">
</div>
</div>
</td>
@@ -372,7 +372,7 @@ label.control-label{
});
dialog.getModalHeader().hide();--#
if(changeFlag){
if(ipFlag && gateWayFlag && maskFlag && macFlag){
top.$("#dialog").text("#(_res.get('confirm.update'))");
top.$("#dialog").dialog({
dialogClass: "no-close",

View File

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