分类性质标签、地域运营商作用域:融合自定义显示,添加排序,优化代码,

特定服务器管理:修正列表分页显示,条件查询,添加自定义显示,添加排序,新增修改页面添加表单校验,
协议ip配置:修正条件查询,添加自定义显示,添加排序,新增修改页面添加表单校验(ipV4\ipV6地址及掩码校验,端口校验)
This commit is contained in:
zhangshilin
2018-03-21 13:43:43 +08:00
parent d5d708a492
commit f92ae2dda4
28 changed files with 710 additions and 1000 deletions

View File

@@ -7,57 +7,106 @@
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
<title></title>
<script type="text/javascript">
$(document).ready(
function() {
$(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","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
$("input[name='dstIpMask']").attr("placeholder","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
$("input[name='srcIp']").attr("placeholder","任意ip请填0.0.0.0");
$("input[name='dstIp']").attr("placeholder","任意ip请填0.0.0.0");
$("input[name='srcIpMask']").attr("title","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
$("input[name='dstIpMask']").attr("title","任意掩码请填0.0.0.0,无掩码请填255.255.255.255");
$("input[name='srcIp']").attr("title","任意ip请填0.0.0.0");
$("input[name='dstIp']").attr("title","任意ip请填0.0.0.0");
}
if(6==type){
$("input[name='srcIpMask']").attr("placeholder","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
$("input[name='dstIpMask']").attr("placeholder","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
$("input[name='srcIp']").attr("placeholder","任意ip请填 ::");
$("input[name='dstIp']").attr("placeholder","任意ip请填 ::");
$("input[name='srcIpMask']").attr("title","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
$("input[name='dstIpMask']").attr("title","若无请填FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,任意请填 ::");
$("input[name='srcIp']").attr("title","任意ip请填 ::");
$("input[name='dstIp']").attr("title","任意ip请填 ::");
}
});
jQuery.validator.addMethod("maxValue",
function(value, element) {
return value >= 0 && value < 10000000;
return value >= 0 && value < 210000000;
}, "请填写正确的协议id");
//ip地址校验
jQuery.validator.addMethod("ip",function(value, element) {
return this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));
}, "请填写正确的IP地址,如192.168.0.1");
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) {
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地址掩码");
$("#name").focus();
$("#inputForm")
.validate(
{
rules : {
'specServiceId':{
required:true
specServiceId:{
required:true,
digits:true,
maxValue:true
},
'srcIp':{
srcIp:{
required:true,
ip:true
},
'dstIp':{
dstIp:{
required:true,
ip:true
},
'srcIpMask':{
required:true
srcIpMask:{
required:true,
ipMask:true
},
'dstIpMask':{
required:true
dstIpMask:{
required:true,
ipMask:true
},
'srcPort':{
srcPort:{
required:true,
digits:true,
max: 65535,
min: 0
},
'dstPort':{
dstPort:{
required:true,
digits:true,
max: 65535,
min: 0
},
'srcPortMask':{
srcPortMask:{
required:true,
digits:true,
max: 65535,
min: 0
},
'dstPortMask':{
dstPortMask:{
required:true,
digits:true,
max: 65535,
@@ -65,42 +114,44 @@
}
},
messages : {
'specServiceId':{
required:'<spring:message code="required"/>'
specServiceId:{
required:'<spring:message code="required"/>',
digits:'请填写整数数值',
maxValue:'请填写合适的值0~210000000'
},
'srcIp':{
srcIp:{
required:'<spring:message code="required"/>',
ip:'请填写正确的ip'
},
'dstIp':{
dstIp:{
required:'<spring:message code="required"/>',
ip:'请填写正确的ip'
},
'srcIpMask':{
srcIpMask:{
required:'<spring:message code="required"/>'
},
'dstIpMask':{
dstIpMask:{
required:'<spring:message code="required"/>'
},
'srcPort':{
srcPort:{
required:'<spring:message code="required"/>',
digits:'请填写整数',
max: '数值不得大于65535',
min: '数值不得小于0'
},
'dstPort':{
dstPort:{
required:'<spring:message code="required"/>',
digits:'请填写整数',
max: '数值不得大于65535',
min: '数值不得小于0'
},
'srcPortMask':{
srcPortMask:{
required:'<spring:message code="required"/>',
digits:'请填写整数',
max: '数值不得大于65535',
min: '数值不得小于0'
},
'dstPortMask':{
dstPortMask:{
required:'<spring:message code="required"/>',
digits:'请填写整数',
max: '数值不得大于65535',
@@ -148,7 +199,7 @@
<h3 class="page-title">
<spring:message code="configuration_manage" />
<spring:message code="agreement_ip_configuration" />
</h3>
<div class="row">
@@ -202,7 +253,6 @@
<label class="col-md-3 control-label"><font color="red">*</font>协议:</label>
<div class="col-md-6">
<form:select path="protocol" class="selectpicker select2 form-control" >
<form:option value="">-请选择协议类型-</form:option>
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
</c:forEach>
@@ -212,13 +262,16 @@
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>是否审核:</label>
<div class="col-md-6">
<form:select path="isAudit" class="selectpicker select2 form-control" >
<c:if test="${hostId == null}">
<form:option value="0">${fns:getDictLabel("SPEC_AUDIT","0","0")}</form:option>
</c:if>
</form:select>
<label class="col-md-3 control-label"><font color="red">*</font>ip类型:</label>
<div class="col-md-6">
<form:select path="ipType" class="selectpicker select2 form-control" >
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
</c:forEach>
</form:select>
</div>
<div class="col-md-6" style="display:none;">
<input name="isAudit" value="1"/>
</div>
</div>
</div>
@@ -229,7 +282,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>源IP地址:</label>
<div class="col-md-6">
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" placeholder="0.0.0.0"/>
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填0.0.0.0" placeholder="任意ip请填0.0.0.0"/>
</div>
</div>
</div>
@@ -237,7 +290,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>目的IP地址:</label>
<div class="col-md-6">
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" placeholder="0.0.0.0"/>
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填0.0.0.0" placeholder="任意ip请填0.0.0.0"/>
</div>
</div>
</div>
@@ -248,7 +301,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>源地址掩码:</label>
<div class="col-md-6">
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="255.255.255.255"/>
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" title="任意掩码请填0.0.0.0,无掩码请填255.255.255.255" data-placement="top" placeholder="任意掩码请填0.0.0.0,无掩码请填255.255.255.255"/>
</div>
</div>
</div>
@@ -256,7 +309,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>目的地址掩码:</label>
<div class="col-md-6">
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="255.255.255.255"/>
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0.0.0.0,无掩码请填255.255.255.255" placeholder="任意掩码请填0.0.0.0,无掩码请填255.255.255.255"/>
</div>
</div>
</div>
@@ -267,7 +320,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>源端口:</label>
<div class="col-md-6">
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
</div>
</div>
</div>
@@ -275,7 +328,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>目的端口:</label>
<div class="col-md-6">
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
</div>
</div>
</div>
@@ -285,7 +338,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>源端口掩码:</label>
<div class="col-md-6">
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="65535"/>
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0,无掩码请填65535" placeholder="任意掩码请填0,无掩码请填65535"/>
</div>
</div>
</div>
@@ -293,7 +346,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>目的端口掩码:</label>
<div class="col-md-6">
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" placeholder="65535"/>
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0,无掩码请填65535" placeholder="任意掩码请填0,无掩码请填65535"/>
</div>
</div>
</div>