优化业务字典、系统字典、特定服务、协议ip校验处理方式,融合代码

This commit is contained in:
zhangshilin
2018-04-08 17:41:55 +08:00
parent b2ae24021a
commit fb19efed18
9 changed files with 108 additions and 298 deletions

View File

@@ -4,28 +4,21 @@
<head>
<link rel="stylesheet" type="text/css"
href="${ctxStatic}/pages/css/dictInfo.css" />
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
<title></title>
<script type="text/javascript">
var validateForm;
function selectP(){
$("label[for='specServiceId']").hide();
}
$(document).ready(function() {
$("[data-toogle='tooltip']").tooltip();
$("select[name='ipType']").on("change",function(){
var type=$(this).val();
if(4==type){
$("input[name='srcIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : 0.0.0.0");
$("input[name='dstIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : 0.0.0.0");
$("input[name='srcIpMask']").attr("title","<spring:message code='arbitrary'/> : 0.0.0.0");
$("input[name='dstIpMask']").attr("title","<spring:message code='arbitrary'/> : 0.0.0.0");
}
if(6==type){
$("input[name='srcIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : \"::\"");
$("input[name='dstIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : \"::\"");
$("input[name='srcIpMask']").attr("title","<spring:message code='arbitrary'/> : \"::\"");
$("input[name='dstIpMask']").attr("title","<spring:message code='arbitrary'/> : \"::\"");
}
});
//specServiceId校验,处理校验不能及时显示
@@ -37,44 +30,7 @@ function selectP(){
return true;
}
}, "请选择协议名称");
//ip地址校验
jQuery.validator.addMethod("ip",function(value, element) {
if(value.length==0||value.trim().length==0){return true;}
var typeInt=$("select[name='ipType']").val();
if(typeInt==4){
return this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));
}else if(typeInt==6){
return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/.test(value);
}}, "请填写正确的IP地址");
//ip地址掩码校验
jQuery.validator.addMethod("ipMask",function(value, element) {
if(value.length==0||value.trim().length==0){return true;}
obj=value;
var typeInt=$("select[name='ipType']").val();
if(typeInt==4){
if(obj=="255.255.255.255"){
return true;
}else{
var exp=/^(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 reg = obj.match(exp);
if(reg==null){return false;}else{return true}
}
}else if(typeInt==6){
if(obj=="FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"||obj==0||obj=="::"){
return true;
}else{return (obj > 0) && ((obj & (obj - 1)) == 0)};
}
}, "请填写正确的IP地址掩码");
//掩码校验超过两位不得以0开头
jQuery.validator.addMethod("notStartZero",function(value, element) {
if(value.length>1&value.length<6){
var str = value.substr(0,1);
if(str == '0'){
return false;
}
}
return true;
}, "请填写正确的数值");
$("#name").focus();
validateForm = $("#inputForm")
.validate(
@@ -83,106 +39,22 @@ function selectP(){
specServiceId:{
specServiceIdSelected:true
},
protocol:{
required:true
},
ipType:{
required:true
},
srcIp:{
ip:true
},
dstIp:{
ip:true
},
srcIpMask:{
ipMask:true
},
dstIpMask:{
ipMask:true
},
srcPort:{
required:true,
digits:true,
max: 65535,
min: 0,
notStartZero:true
},
dstPort:{
required:true,
digits:true,
max: 65535,
min: 0,
notStartZero:true
},
srcPortMask:{
digits:true,
max: 65535,
min: 0,
notStartZero:true
},
dstPortMask:{
digits:true,
max: 65535,
min: 0,
notStartZero:true
}
srcPort:{max: 65535,min: 0},
dstPort:{max: 65535,min: 0},
srcPortMask:{max: 65535,min: 0},
dstPortMask:{max: 65535,min: 0}
},
messages : {
specServiceId:{
specServiceIdSelected:'<spring:message code="required"/>'
},
protocol:{
required:'<spring:message code="required"/>'
},
ipType:{
required:'<spring:message code="required"/>'
},
srcIp:{
ip:'<spring:message code="enter_error"/>'
},
dstIp:{
ip:'<spring:message code="enter_error"/>'
},
srcIpMask:{
ipMask:'<spring:message code="enter_error"/>'
},
dstIpMask:{
ipMask:'<spring:message code="enter_error"/>'
},
srcPort:{
required:'<spring:message code="required"/>',
digits:'<spring:message code="input_integer"/>',
max: '<spring:message code="max_value"/> 65535',
min: '<spring:message code="min_value"/>0',
notStartZero:'<spring:message code="enter_error"/>'
},
dstPort:{
required:'<spring:message code="required"/>',
digits:'<spring:message code="input_integer"/>',
max: '<spring:message code="max_value"/> 65535',
min: '<spring:message code="min_value"/>0',
notStartZero:'<spring:message code="enter_error"/>'
},
srcPortMask:{
digits:'<spring:message code="input_integer"/>',
max: '<spring:message code="max_value"/> 65535',
min: '<spring:message code="min_value"/>0',
notStartZero:'<spring:message code="enter_error"/>'
},
dstPortMask:{
digits:'<spring:message code="input_integer"/>',
max: '<spring:message code="max_value"/> 65535',
min: '<spring:message code="min_value"/>0',
notStartZero:'<spring:message code="enter_error"/>'
}
}
},
submitHandler : function(form) {
if (!validateForm.form()) {
return false;
}
loading('正在提交,请稍等...');
loading('<spring:message code="submitting"/>');
form.submit();
},
errorContainer : "#messageBox",
@@ -277,7 +149,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='protocol' />:</label>
<div class="col-md-6">
<form:select path="protocol" class="select2 form-control" >
<form:select path="protocol" class="select2 form-control required" >
<form:option value=""><spring:message code='select' /></form:option>
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
@@ -290,8 +162,8 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='ip_type' />:</label>
<div class="col-md-6">
<form:select path="ipType" class="select2 form-control" >
<form:option value=""><spring:message code='select' /></form:option>
<form:select path="ipType" class="select2 form-control required" >
<%-- <form:option value=""><spring:message code='select' /></form:option> --%>
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
</c:forEach>
@@ -310,7 +182,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='client_ip' />:</label>
<div class="col-md-6">
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryValue}" placeholder="${arbitraryValue}"/>
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control ipCheck" placeholder="${arbitraryValue}"/>
</div>
</div>
</div>
@@ -318,7 +190,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='server_ip' />:</label>
<div class="col-md-6">
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryValue}" placeholder="${arbitraryValue}"/>
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control ipCheck" placeholder="${arbitraryValue}"/>
</div>
</div>
</div>
@@ -329,7 +201,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='client_address_mask' />:</label>
<div class="col-md-6">
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" title="${arbitraryValue}" data-placement="top" placeholder="${arbitraryValue}"/>
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control ipMask" placeholder="${arbitraryValue}"/>
</div>
</div>
</div>
@@ -337,7 +209,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='server_address_mask' />:</label>
<div class="col-md-6">
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryValue}" placeholder="${arbitraryValue}"/>
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control ipMask" placeholder="${arbitraryValue}"/>
</div>
</div>
</div>
@@ -348,7 +220,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='client_port' />:</label>
<div class="col-md-6">
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryPort}" placeholder="${arbitraryPort}"/>
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control required digits notStartZero" placeholder="${arbitraryPort}"/>
</div>
</div>
</div>
@@ -356,7 +228,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='server_port' />:</label>
<div class="col-md-6">
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryPort}" placeholder="${arbitraryPort}"/>
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control required digits notStartZero" placeholder="${arbitraryPort}"/>
</div>
</div>
</div>
@@ -366,7 +238,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='client_port_mask' />:</label>
<div class="col-md-6">
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryPort}" placeholder="${arbitraryPort}"/>
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control digits notStartZero" placeholder="${arbitraryPort}"/>
</div>
</div>
</div>
@@ -374,7 +246,7 @@ function selectP(){
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code='server_port_mask' />:</label>
<div class="col-md-6">
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="${arbitraryPort}" placeholder="${arbitraryPort}"/>
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control digits notStartZero" placeholder="${arbitraryPort}"/>
</div>
</div>
</div>