From f07eebb2a536180d0610b51fe0cd653990ea1863 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Wed, 30 Apr 2025 10:19:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=AE=A1=E7=90=86-=E7=BA=BF?= =?UTF-8?q?=E8=B7=AF=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lineManagement/child/lineFormTemp.js | 22 ++++++++++-- .../lineManagement/child/threeSpanFormTemp.js | 35 ++++++++++++++----- .../lineManagement/child/towerFormTemp.js | 35 +++++++++++++++---- .../lineManagement/child/lineFormTemp.html | 4 +-- .../child/threeSpanFormTemp.html | 28 +++++++-------- .../lineManagement/child/towerFormTemp.html | 8 ++--- 6 files changed, 94 insertions(+), 38 deletions(-) diff --git a/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js b/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js index 2b99919..af6d426 100644 --- a/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js +++ b/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js @@ -38,8 +38,16 @@ function setParams(params) { // 经度验证 longitude: function (value, item) { if (value) { - if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { - return '请输入正确的经度(-180.0~+180.0)'; + // if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的经度(-180.0~+180.0)'; + // } + const longitudeValue = parseFloat(value); + if(isNaN(longitudeValue) || longitudeValue < 73.55 || longitudeValue > 135.08) { + return '请输入位于正确的经度(大约73.55°E至135.08°E)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(value)) { + return '经度应精确到最多6位小数且在正确范围内'; } } }, @@ -47,8 +55,16 @@ function setParams(params) { // 纬度验证 latitude: function (value, item) { if (value) { - if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { + /*if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { return '请输入正确的纬度(-90.0~+90.0)'; + }*/ + const latitudeValue = parseFloat(value); + if(isNaN(latitudeValue) || latitudeValue < 4 || latitudeValue > 53) { + return '请输入位于正确的纬度(大约4°N至53°N)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) { + return '纬度应精确到最多6位小数且在正确范围内'; } } } diff --git a/src/main/resources/static/js/basic/lineManagement/child/threeSpanFormTemp.js b/src/main/resources/static/js/basic/lineManagement/child/threeSpanFormTemp.js index 2dd682d..ef0e526 100644 --- a/src/main/resources/static/js/basic/lineManagement/child/threeSpanFormTemp.js +++ b/src/main/resources/static/js/basic/lineManagement/child/threeSpanFormTemp.js @@ -120,8 +120,18 @@ function setParams(params) { return '经度和纬度需要同时填写'; } // 验证经度格式 - if(!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { - return '请输入正确的经度(-180.0~+180.0)'; + // if(!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的经度(-180.0~+180.0)'; + // } + + // 验证经度格式并检查数值是否在中国范围内(73.55 至 135.08) + const longitudeValue = parseFloat(value); + if(isNaN(longitudeValue) || longitudeValue < 73.55 || longitudeValue > 135.08) { + return '请输入位于正确的经度(大约73.55°E至135.08°E)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(value)) { + return '经度应精确到最多6位小数且在正确范围内'; } }, @@ -138,8 +148,17 @@ function setParams(params) { return '经度和纬度需要同时填写'; } // 验证纬度格式 - if(!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { - return '请输入正确的纬度(-90.0~+90.0)'; + // if(!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的纬度(-90.0~+90.0)'; + // } + // 验证纬度格式并检查数值是否在中国范围内(4 至 53) + const latitudeValue = parseFloat(value); + if(isNaN(latitudeValue) || latitudeValue < 4 || latitudeValue > 53) { + return '请输入位于正确的纬度(大约4°N至53°N)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) { + return '纬度应精确到最多6位小数且在正确范围内'; } } }); @@ -417,10 +436,10 @@ function crossLineFields(){ $('input[name="intersectionAngle1"]').attr('lay-verify', 'required|number'); $('input[name="verticalDistance"]').attr('lay-verify', 'required|number'); $('input[name="safetyMargin"]').attr('lay-verify', 'required|number'); - $('input[name="crossTowerLongitude1"]').attr('lay-verify', 'longitude'); - $('input[name="crossTowerLatitude1"]').attr('lay-verify', 'latitude'); - $('input[name="crossTowerLongitude2"]').attr('lay-verify', 'longitude'); - $('input[name="crossTowerLatitude2"]').attr('lay-verify', 'latitude'); + $('input[name="crossTowerLongitude1"]').attr('lay-verify', 'required|longitude'); + $('input[name="crossTowerLatitude1"]').attr('lay-verify', 'required|latitude'); + $('input[name="crossTowerLongitude2"]').attr('lay-verify', 'required|longitude'); + $('input[name="crossTowerLatitude2"]').attr('lay-verify', 'required|latitude'); $('input[name="crossTowerLongitude3"]').attr('lay-verify', 'longitude'); $('input[name="crossTowerLatitude3"]').attr('lay-verify', 'latitude'); $('input[name="crossTowerLongitude4"]').attr('lay-verify', 'longitude'); diff --git a/src/main/resources/static/js/basic/lineManagement/child/towerFormTemp.js b/src/main/resources/static/js/basic/lineManagement/child/towerFormTemp.js index 602d9c0..77abd60 100644 --- a/src/main/resources/static/js/basic/lineManagement/child/towerFormTemp.js +++ b/src/main/resources/static/js/basic/lineManagement/child/towerFormTemp.js @@ -21,7 +21,8 @@ function setParams(params) { $('#2000Fields').hide(); // 设置验证规则 $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').removeAttr('lay-verify'); - $('input[name="longitude"], input[name="latitude"]').attr('lay-verify', 'required|number'); + $('input[name="longitude"]').attr('lay-verify', 'required|longitude'); + $('input[name="latitude"]').attr('lay-verify', 'required|latitude'); console.log(idParam + "idParam") if (idParam) { @@ -40,13 +41,17 @@ function setParams(params) { $('#2000Fields').hide(); // 设置验证规则 $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').removeAttr('lay-verify'); - $('input[name="longitude"], input[name="latitude"]').attr('lay-verify', 'required|number'); + $('input[name="longitude"]').attr('lay-verify', 'required|longitude'); + $('input[name="latitude"]').attr('lay-verify', 'required|latitude'); + // $('input[name="longitude"], input[name="latitude"]').attr('lay-verify', 'required|number'); } else { $('#wgs84Fields').hide(); $('#2000Fields').show(); // 设置验证规则 $('input[name="longitude"], input[name="latitude"]').removeAttr('lay-verify'); - $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').attr('lay-verify', 'required|number'); + // $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').attr('lay-verify', 'required|number'); + $('input[name="longitude2000"]').attr('lay-verify', 'required|longitude'); + $('input[name="latitude2000"]').attr('lay-verify', 'required|latitude'); } }); @@ -69,8 +74,16 @@ function setParams(params) { // 经度验证 longitude: function (value, item) { if (value) { - if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { - return '请输入正确的经度(-180.0~+180.0)'; + // if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的经度(-180.0~+180.0)'; + // } + const longitudeValue = parseFloat(value); + if(isNaN(longitudeValue) || longitudeValue < 73.55 || longitudeValue > 135.08) { + return '请输入位于正确的经度(大约73.55°E至135.08°E)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(value)) { + return '经度应精确到最多6位小数且在正确范围内'; } } }, @@ -78,8 +91,16 @@ function setParams(params) { // 纬度验证 latitude: function (value, item) { if (value) { - if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { - return '请输入正确的纬度(-90.0~+90.0)'; + // if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的纬度(-90.0~+90.0)'; + // } + const latitudeValue = parseFloat(value); + if(isNaN(latitudeValue) || latitudeValue < 4 || latitudeValue > 53) { + return '请输入位于正确的纬度(大约4°N至53°N)'; + } + // 可选:检查小数位数,假设要求最多6位小数 + if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) { + return '纬度应精确到最多6位小数且在正确范围内'; } } } diff --git a/src/main/resources/static/pages/basic/lineManagement/child/lineFormTemp.html b/src/main/resources/static/pages/basic/lineManagement/child/lineFormTemp.html index 5d7c681..c4a3e75 100644 --- a/src/main/resources/static/pages/basic/lineManagement/child/lineFormTemp.html +++ b/src/main/resources/static/pages/basic/lineManagement/child/lineFormTemp.html @@ -128,7 +128,7 @@