优化业务字典、系统字典、特定服务、协议ip校验处理方式,融合代码
This commit is contained in:
@@ -53,15 +53,13 @@ public class SpecificServiceHostCfgService extends BaseService{
|
|||||||
public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) {
|
public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) {
|
||||||
SysUser user = UserUtils.getUser();
|
SysUser user = UserUtils.getUser();
|
||||||
String defaultIp = "0.0.0.0"; //缺省0.0.0.0值表示任意
|
String defaultIp = "0.0.0.0"; //缺省0.0.0.0值表示任意
|
||||||
String defaultIpMask = "";
|
String defaultIpMask = "255.255.255.255";//255.255.255.255表示无掩码
|
||||||
if(specificServiceHostCfg.getIpType().equals(4)){
|
|
||||||
defaultIpMask = "255.255.255.255"; //255.255.255.255表示无掩码
|
|
||||||
}
|
|
||||||
if(specificServiceHostCfg.getIpType().equals(6)){
|
if(specificServiceHostCfg.getIpType().equals(6)){
|
||||||
|
defaultIp = "::"; //缺省::
|
||||||
defaultIpMask = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"; //FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF表示无掩码
|
defaultIpMask = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"; //FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF表示无掩码
|
||||||
}
|
}
|
||||||
String defaultPortMask = "65535"; //65535表示无掩码
|
String defaultPortMask = "65535"; //65535表示无掩码
|
||||||
//ip地址默认 缺省0.0.0.0值表示任意
|
//ip地址默认 Ipv4缺省0.0.0.0,ipv6缺省为::
|
||||||
if(StringUtil.isBlank(specificServiceHostCfg.getSrcIp())){
|
if(StringUtil.isBlank(specificServiceHostCfg.getSrcIp())){
|
||||||
specificServiceHostCfg.setSrcIp(defaultIp);
|
specificServiceHostCfg.setSrcIp(defaultIp);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ label.errorShow {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flagTypeSame;
|
return flagTypeSame;
|
||||||
},"请选择正确的数据类型");
|
},"<spring:message code='typeSame'/>");
|
||||||
//与下级是否一致
|
//与下级是否一致
|
||||||
jQuery.validator.addMethod("childrenType",function(value,element){
|
jQuery.validator.addMethod("childrenType",function(value,element){
|
||||||
var flagChildTypeSame=false;
|
var flagChildTypeSame=false;
|
||||||
@@ -87,7 +87,7 @@ label.errorShow {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flagChildTypeSame;
|
return flagChildTypeSame;
|
||||||
},"该配置包含下级配置,数据类型更改后与子类不一致");
|
},"<spring:message code='typeChild'/>");
|
||||||
|
|
||||||
//校验叶子节点有下级不得更改为叶子节点
|
//校验叶子节点有下级不得更改为叶子节点
|
||||||
jQuery.validator.addMethod("leafChange",function(value,element){
|
jQuery.validator.addMethod("leafChange",function(value,element){
|
||||||
@@ -102,54 +102,19 @@ label.errorShow {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flagLeafChange;
|
return flagLeafChange;
|
||||||
},"该配置包含下级配置,不得改为叶子节点");
|
},"<spring:message code='leafChange'/>");
|
||||||
|
|
||||||
$("#name").focus();
|
$("#name").focus();
|
||||||
validateForm=$("#inputForm").validate({
|
validateForm=$("#inputForm").validate({
|
||||||
rules: {
|
rules: {
|
||||||
'itemCode':{
|
'itemCode':{
|
||||||
required:true,
|
|
||||||
remote:'${ctx}/basics/serviceDictInfo/isItemCodeRepeat?oldItemCode=${serviceDictInfo.itemCode}',
|
remote:'${ctx}/basics/serviceDictInfo/isItemCodeRepeat?oldItemCode=${serviceDictInfo.itemCode}',
|
||||||
maxlength:64
|
|
||||||
},
|
|
||||||
'itemValue':{
|
|
||||||
required:true,
|
|
||||||
maxlength:64
|
|
||||||
},
|
|
||||||
'itemType':{
|
|
||||||
childrenType:true,
|
|
||||||
//remote:'${ctx}/basics/serviceDictInfo/ajaxChildrenType?parent=${serviceDictInfo.serviceDictId}',
|
|
||||||
typeSame:true
|
|
||||||
},
|
|
||||||
'isLeaf':{
|
|
||||||
leafChange:true
|
|
||||||
},
|
|
||||||
'itemDesc':{
|
|
||||||
maxlength:128
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
'itemCode':{
|
'itemCode':{
|
||||||
required:'<spring:message code="required"/>',
|
|
||||||
remote:'<spring:message code="repeat"/>',
|
remote:'<spring:message code="repeat"/>',
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
}
|
||||||
},
|
|
||||||
'itemValue':{
|
|
||||||
required:'<spring:message code="required"/>',
|
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
|
||||||
},
|
|
||||||
'itemType':{
|
|
||||||
childrenType:'<spring:message code="typeChild"/>',
|
|
||||||
//remote:'<spring:message code="typeChild"/>',
|
|
||||||
typeSame:'<spring:message code="typeSame"/>'
|
|
||||||
},
|
|
||||||
'isLeaf':{
|
|
||||||
leafChange:'<spring:message code="leafChange"/>'
|
|
||||||
},
|
|
||||||
'itemDesc':{
|
|
||||||
maxlength:'<spring:message code="maxlength_128"/>'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
submitHandler: function(form){
|
submitHandler: function(form){
|
||||||
@@ -227,7 +192,7 @@ label.errorShow {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label radio-lable"><font color="red">*</font> <spring:message code="item_type"/>:</label>
|
<label class="col-md-3 control-label radio-lable"><font color="red">*</font> <spring:message code="item_type"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<select id="itemTypeCheckChild" name="itemType" class="form-control">
|
<select id="itemTypeCheckChild" name="itemType" class="form-control childrenType typeSame">
|
||||||
<c:forEach items="${fns:getDictList('SERVICE_DICT_ITM_TYPE')}" var="dict">
|
<c:forEach items="${fns:getDictList('SERVICE_DICT_ITM_TYPE')}" var="dict">
|
||||||
<c:forEach items="${intArr}" var="itTemp">
|
<c:forEach items="${intArr}" var="itTemp">
|
||||||
<c:if test="${dict.itemCode eq itTemp}">
|
<c:if test="${dict.itemCode eq itTemp}">
|
||||||
@@ -241,19 +206,19 @@ label.errorShow {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="itemCode" htmlEscape="false" maxlength="60" class="form-control"/>
|
<form:input path="itemCode" htmlEscape="false" maxlength="64" class="form-control required noBlankSpace"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="config_content"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="config_content"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="itemValue" htmlEscape="false" maxlength="2000" class="form-control"/>
|
<form:input path="itemValue" htmlEscape="false" maxlength="64" class="form-control required noBlankSpace"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:select path="isLeaf" class="form-control">
|
<form:select path="isLeaf" class="form-control leafChange">
|
||||||
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
||||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
@@ -263,7 +228,7 @@ label.errorShow {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code="desc"/>:</label>
|
<label class="col-md-3 control-label"><spring:message code="desc"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:textarea path="itemDesc" htmlEscape="false" maxlength="2000" class="form-control"/>
|
<form:textarea path="itemDesc" htmlEscape="false" maxlength="128" class="form-control"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flag;
|
return flag;
|
||||||
},"请选择正确的数据类型");
|
},"<spring:message code='typeSame'/>");
|
||||||
|
|
||||||
//校验叶子节点,有下级不得更改为叶子节点
|
//校验叶子节点,有下级不得更改为叶子节点
|
||||||
jQuery.validator.addMethod("leafChange",function(value,element){
|
jQuery.validator.addMethod("leafChange",function(value,element){
|
||||||
@@ -55,52 +55,26 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flag;
|
return flag;
|
||||||
},"该配置包含下级配置,不得改为叶子节点");
|
},"<spring:message code='leafChange'/>");
|
||||||
|
|
||||||
$("#name").focus();
|
$("#name").focus();
|
||||||
validateForm = $("#inputForm").validate({
|
validateForm = $("#inputForm").validate({
|
||||||
rules: {
|
rules: {
|
||||||
'itemCode':{
|
'itemCode':{
|
||||||
required:true,
|
remote:'${ctx}/basics/sysDictInfo/isItemCodeRepeat?oldItemCode=${sysDictInfo.itemCode}'
|
||||||
remote:'${ctx}/basics/sysDictInfo/isItemCodeRepeat?oldItemCode=${sysDictInfo.itemCode}',
|
|
||||||
maxlength:64
|
|
||||||
},
|
|
||||||
'itemValue':{
|
|
||||||
required:true,
|
|
||||||
maxlength:64
|
|
||||||
},
|
},
|
||||||
'itemType':{
|
'itemType':{
|
||||||
remote:'${ctx}/basics/sysDictInfo/ajaxChildrenType?parent=${sysDictInfo.sysDictId}',
|
remote:'${ctx}/basics/sysDictInfo/ajaxChildrenType?parent=${sysDictInfo.sysDictId}'
|
||||||
typeSame:true
|
|
||||||
},
|
|
||||||
'isLeaf':{
|
|
||||||
leafChange:true
|
|
||||||
},
|
|
||||||
'itemDesc':{
|
|
||||||
maxlength:128
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
'itemCode':{
|
'itemCode':{
|
||||||
required:'<spring:message code="required"/>',
|
remote:'<spring:message code="repeat"/>'
|
||||||
remote:'<spring:message code="repeat"/>',
|
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
|
||||||
},
|
|
||||||
'itemValue':{
|
|
||||||
required:'<spring:message code="required"/>',
|
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
|
||||||
},
|
},
|
||||||
'itemType':{
|
'itemType':{
|
||||||
remote:'<spring:message code="typeChild"/>',
|
remote:'<spring:message code="typeChild"/>'
|
||||||
typeSame:'<spring:message code="typeSame"/>'
|
}
|
||||||
},
|
|
||||||
'isLeaf':{
|
|
||||||
leafChange:'<spring:message code="leafChange"/>'
|
|
||||||
},
|
|
||||||
'itemDesc':{
|
|
||||||
maxlength:'<spring:message code="maxlength_128"/>'
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -176,7 +150,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label radio-lable"><font color="red">*</font> <spring:message code="item_type"/>:</label>
|
<label class="col-md-3 control-label radio-lable"><font color="red">*</font> <spring:message code="item_type"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<select id="itemType" name="itemType" class="form-control">
|
<select id="itemType" name="itemType" class="form-control typeSame">
|
||||||
<c:forEach items="${fns:getDictList('SYS_DICT_ITM_TYPE')}" var="dict">
|
<c:forEach items="${fns:getDictList('SYS_DICT_ITM_TYPE')}" var="dict">
|
||||||
<c:forEach items="${intArr}" var="itTemp">
|
<c:forEach items="${intArr}" var="itTemp">
|
||||||
<c:if test="${dict.itemCode eq itTemp}">
|
<c:if test="${dict.itemCode eq itTemp}">
|
||||||
@@ -190,13 +164,13 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="itemCode" htmlEscape="false" maxlength="50" class="form-control"/>
|
<form:input path="itemCode" htmlEscape="false" maxlength="64" class="form-control required noBlankSpace"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="config_content"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="config_content"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="itemValue" htmlEscape="false" maxlength="2000" class="form-control"/>
|
<form:input path="itemValue" htmlEscape="false" maxlength="64" class="form-control required noBlankSpace"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<c:if test="${specType != null and specType==3 }">
|
<c:if test="${specType != null and specType==3 }">
|
||||||
@@ -206,7 +180,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:select path="isLeaf" class="form-control">
|
<form:select path="isLeaf" class="form-control leafChange">
|
||||||
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
||||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
@@ -217,7 +191,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code="desc"/>:</label>
|
<label class="col-md-3 control-label"><spring:message code="desc"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:textarea path="itemDesc" htmlEscape="false" maxlength="2000" class="form-control"/>
|
<form:textarea path="itemDesc" htmlEscape="false" maxlength="128" class="form-control"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
if(isinit){
|
if(isinit){
|
||||||
confirmx("<spring:message code='confirm_message'/>", url+"&mulitId="+mulitId);
|
confirmx("<spring:message code='confirm_message'/>", url+"&mulitId="+mulitId);
|
||||||
}else{
|
}else{
|
||||||
top.$.jBox.tip("<spring:message code='has_initianlize'/>", "<spring:message code='info'/>");
|
top.$.jBox.tip("<spring:message code='initial_data_is_not_allowed_to_delete'/>", "<spring:message code='info'/>");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
if(${fns:getUser().loginId=='admin'}){
|
if(${fns:getUser().loginId=='admin'}){
|
||||||
confirmx("<spring:message code='confirm_message'/>", url+"&sysDictId="+cked.val());
|
confirmx("<spring:message code='confirm_message'/>", url+"&sysDictId="+cked.val());
|
||||||
}else{
|
}else{
|
||||||
top.$.jBox.tip("<spring:message code='hasnopower_toedit_initianlize.'/>", "<spring:message code='info'/>");
|
top.$.jBox.tip("<spring:message code='initial_data_is_not_allowed_to_edit.'/>", "<spring:message code='info'/>");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,24 +8,6 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var validateForm;
|
var validateForm;
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
jQuery.validator.addMethod("maxValue", function(value, element) {
|
|
||||||
return value >=0&&value<2100000000;
|
|
||||||
}, "请填写正确的协议id");
|
|
||||||
//校验叶子节点无上级不得选为叶子节点
|
|
||||||
jQuery.validator.addMethod("leafHasTree",function(value,element){
|
|
||||||
var flagLeafHasTree=false;
|
|
||||||
$.ajax({
|
|
||||||
type:'post',
|
|
||||||
async:false,
|
|
||||||
url:'${ctx}/specific/specificServiceCfg/ajaxLeafHasTree',
|
|
||||||
data:{parentId:$("#specificServiceCfgId").val(),newIsLeaf:$("#isLeaf option:selected").val()},
|
|
||||||
success:function(data){
|
|
||||||
flagLeafHasTree=data;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return flagLeafHasTree;
|
|
||||||
},"该配置上级为根节点,不得设为叶子节点");
|
|
||||||
|
|
||||||
//校验叶子节点有下级不得更改为叶子节点
|
//校验叶子节点有下级不得更改为叶子节点
|
||||||
jQuery.validator.addMethod("leafChange",function(value,element){
|
jQuery.validator.addMethod("leafChange",function(value,element){
|
||||||
var flagLeafChange=false;
|
var flagLeafChange=false;
|
||||||
@@ -39,55 +21,20 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return flagLeafChange;
|
return flagLeafChange;
|
||||||
},"该配置包含下级配置,不得改为叶子节点");
|
},"<spring:message code='leafChange'/>");
|
||||||
|
|
||||||
$("#name").focus();
|
$("#name").focus();
|
||||||
validateForm = $("#inputForm").validate({
|
validateForm = $("#inputForm").validate({
|
||||||
rules:{
|
rules:{
|
||||||
specServiceId:{
|
specServiceId:{
|
||||||
required:true,
|
|
||||||
digits:true,
|
|
||||||
max: 2100000000,
|
max: 2100000000,
|
||||||
remote:'${ctx}/specific/specificServiceCfg/isIdRepeat?oldId=${specificServiceCfg.specServiceId}'
|
remote:'${ctx}/specific/specificServiceCfg/isIdRepeat?oldId=${specificServiceCfg.specServiceId}'
|
||||||
},
|
},
|
||||||
specServiceName:{
|
groupId:{max:2100000000}
|
||||||
required:true,
|
|
||||||
maxlength:64
|
|
||||||
},
|
|
||||||
groupId:{
|
|
||||||
digits:true,
|
|
||||||
max:2100000000
|
|
||||||
},
|
|
||||||
isLeaf:{
|
|
||||||
//leafHasTree:true,
|
|
||||||
leafChange:true
|
|
||||||
},
|
|
||||||
specServiceDesc:{
|
|
||||||
maxlength:64
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
specServiceId:{
|
specServiceId:{
|
||||||
required:'<spring:message code="required"/>',
|
|
||||||
digits:'<spring:message code="input_integer"/>',
|
|
||||||
max: '<spring:message code="input_integer"/>',
|
|
||||||
remote:'<spring:message code="repeat"/>'
|
remote:'<spring:message code="repeat"/>'
|
||||||
},
|
|
||||||
specServiceName:{
|
|
||||||
required:'<spring:message code="required"/>',
|
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
|
||||||
},
|
|
||||||
groupId:{
|
|
||||||
digits:'<spring:message code="input_integer"/>',
|
|
||||||
max:'<spring:message code="input_integer"/>'
|
|
||||||
},
|
|
||||||
isLeaf:{
|
|
||||||
//leafHasTree:'该配置上级为根节点,不得设为叶子节点',
|
|
||||||
leafChange:'<spring:message code="leafChange"/>'
|
|
||||||
},
|
|
||||||
specServiceDesc:{
|
|
||||||
maxlength:'<spring:message code="maxlength_64"/>'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -95,7 +42,7 @@
|
|||||||
if(!validateForm.form()) {
|
if(!validateForm.form()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
loading('正在提交,请稍等...');
|
loading('<spring:message code="submitting"/>');
|
||||||
form.submit();
|
form.submit();
|
||||||
},
|
},
|
||||||
errorContainer: "#messageBox",
|
errorContainer: "#messageBox",
|
||||||
@@ -162,25 +109,25 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="protocol_id"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="protocol_id"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<input id="specServiceId" name="specServiceId" maxlength="50" class="form-control" value="${specificServiceCfg.specServiceId}"/>
|
<input id="specServiceId" name="specServiceId" maxlength="50" class="form-control required digits max" value="${specificServiceCfg.specServiceId}"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="protocol_name"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="protocol_name"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="specServiceName" htmlEscape="false" maxlength="50" class="form-control"/>
|
<form:input path="specServiceName" htmlEscape="false" maxlength="64" class="form-control required noBlankSpace"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code="group_id"/>:</label>
|
<label class="col-md-3 control-label"><spring:message code="group_id"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:input path="groupId" htmlEscape="false" maxlength="50" class="form-control" placeholder="0"/>
|
<form:input path="groupId" htmlEscape="false" maxlength="50" class="form-control digits" placeholder="0"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:select path="isLeaf" class="form-control">
|
<form:select path="isLeaf" class="form-control leafChange">
|
||||||
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
|
||||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
@@ -190,7 +137,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code="protocol_desc"/>:</label>
|
<label class="col-md-3 control-label"><spring:message code="protocol_desc"/>:</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<form:textarea path="specServiceDesc" htmlEscape="false" maxlength="2000" class="form-control"/>
|
<form:textarea path="specServiceDesc" htmlEscape="false" maxlength="64" class="form-control"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
|
|||||||
@@ -4,28 +4,21 @@
|
|||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" type="text/css"
|
<link rel="stylesheet" type="text/css"
|
||||||
href="${ctxStatic}/pages/css/dictInfo.css" />
|
href="${ctxStatic}/pages/css/dictInfo.css" />
|
||||||
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
|
|
||||||
<title></title>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var validateForm;
|
var validateForm;
|
||||||
function selectP(){
|
function selectP(){
|
||||||
$("label[for='specServiceId']").hide();
|
$("label[for='specServiceId']").hide();
|
||||||
}
|
}
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("[data-toogle='tooltip']").tooltip();
|
|
||||||
$("select[name='ipType']").on("change",function(){
|
$("select[name='ipType']").on("change",function(){
|
||||||
var type=$(this).val();
|
var type=$(this).val();
|
||||||
if(4==type){
|
if(4==type){
|
||||||
$("input[name='srcIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : 0.0.0.0");
|
$("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='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){
|
if(6==type){
|
||||||
$("input[name='srcIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : \"::\"");
|
$("input[name='srcIpMask']").attr("placeholder","<spring:message code='arbitrary'/> : \"::\"");
|
||||||
$("input[name='dstIpMask']").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校验,处理校验不能及时显示
|
//specServiceId校验,处理校验不能及时显示
|
||||||
@@ -37,44 +30,7 @@ function selectP(){
|
|||||||
return true;
|
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();
|
$("#name").focus();
|
||||||
validateForm = $("#inputForm")
|
validateForm = $("#inputForm")
|
||||||
.validate(
|
.validate(
|
||||||
@@ -83,106 +39,22 @@ function selectP(){
|
|||||||
specServiceId:{
|
specServiceId:{
|
||||||
specServiceIdSelected:true
|
specServiceIdSelected:true
|
||||||
},
|
},
|
||||||
protocol:{
|
srcPort:{max: 65535,min: 0},
|
||||||
required:true
|
dstPort:{max: 65535,min: 0},
|
||||||
},
|
srcPortMask:{max: 65535,min: 0},
|
||||||
ipType:{
|
dstPortMask:{max: 65535,min: 0}
|
||||||
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
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
messages : {
|
messages : {
|
||||||
specServiceId:{
|
specServiceId:{
|
||||||
specServiceIdSelected:'<spring:message code="required"/>'
|
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) {
|
submitHandler : function(form) {
|
||||||
if (!validateForm.form()) {
|
if (!validateForm.form()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
loading('正在提交,请稍等...');
|
loading('<spring:message code="submitting"/>');
|
||||||
form.submit();
|
form.submit();
|
||||||
},
|
},
|
||||||
errorContainer : "#messageBox",
|
errorContainer : "#messageBox",
|
||||||
@@ -277,7 +149,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='protocol' />:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='protocol' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
<form:option value=""><spring:message code='select' /></form:option>
|
||||||
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
|
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
|
||||||
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
|
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
|
||||||
@@ -290,8 +162,8 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='ip_type' />:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='ip_type' />:</label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<form:select path="ipType" class="select2 form-control" >
|
<form:select path="ipType" class="select2 form-control required" >
|
||||||
<form:option value=""><spring:message code='select' /></form:option>
|
<%-- <form:option value=""><spring:message code='select' /></form:option> --%>
|
||||||
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
|
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
|
||||||
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
|
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}' /></form:option>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
@@ -310,7 +182,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='client_ip' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='client_ip' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -318,7 +190,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='server_ip' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='server_ip' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -329,7 +201,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='client_address_mask' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='client_address_mask' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -337,7 +209,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='server_address_mask' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='server_address_mask' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -348,7 +220,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='client_port' />:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='client_port' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -356,7 +228,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='server_port' />:</label>
|
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code='server_port' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -366,7 +238,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='client_port_mask' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='client_port_mask' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -374,7 +246,7 @@ function selectP(){
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label"><spring:message code='server_port_mask' />:</label>
|
<label class="col-md-3 control-label"><spring:message code='server_port_mask' />:</label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -150,3 +150,47 @@ jQuery.validator.addMethod("regexPassword", function(value, element) {
|
|||||||
return this.optional(element) || /^(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/.test(value);
|
return this.optional(element) || /^(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/.test(value);
|
||||||
}, "一个大写,一个小写,一个符号");
|
}, "一个大写,一个小写,一个符号");
|
||||||
|
|
||||||
|
//输入内容不得为空格
|
||||||
|
jQuery.validator.addMethod("noBlankSpace", function(value, element) {
|
||||||
|
return $.trim(value) != "";
|
||||||
|
}, "不能填写空格");
|
||||||
|
|
||||||
|
//掩码校验,超过两位不得以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;
|
||||||
|
}, "请填写正确的数值");
|
||||||
|
|
||||||
|
//ip地址校验
|
||||||
|
jQuery.validator.addMethod("ipCheck",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地址掩码");
|
||||||
@@ -20,6 +20,11 @@
|
|||||||
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
|
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
|
||||||
range: $.validator.format("Please enter a value between {0} and {1}."),
|
range: $.validator.format("Please enter a value between {0} and {1}."),
|
||||||
max: $.validator.format("Please enter a value less than or equal to {0}."),
|
max: $.validator.format("Please enter a value less than or equal to {0}."),
|
||||||
min: $.validator.format("Please enter a value greater than or equal to {0}.")
|
min: $.validator.format("Please enter a value greater than or equal to {0}."),
|
||||||
|
checkIp: $.validator.format("Please enter a correct IP address."),
|
||||||
|
noBlankSpace:"can not be space",
|
||||||
|
ipCheck:"Please enter a valid ip",
|
||||||
|
ipMask:"Please enter a valid ip mask",
|
||||||
|
notStartZero:"Please enter a valid Integer"
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
@@ -20,6 +20,11 @@
|
|||||||
rangelength: $.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
|
rangelength: $.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
|
||||||
range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
|
range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
|
||||||
max: $.validator.format("请输入一个最大为 {0} 的值"),
|
max: $.validator.format("请输入一个最大为 {0} 的值"),
|
||||||
min: $.validator.format("请输入一个最小为 {0} 的值")
|
min: $.validator.format("请输入一个最小为 {0} 的值"),
|
||||||
|
checkIp: $.validator.format("请输入一个合法的IP"),
|
||||||
|
noBlankSpace:"不能为空格",
|
||||||
|
ipCheck:"请填写正确的IP地址",
|
||||||
|
ipMask:"请填写正确的IP地址掩码",
|
||||||
|
notStartZero:"请填写正确的数值"
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
Reference in New Issue
Block a user