From 81c687dd5b08e2e6c11351c43adcf7a3d571f666 Mon Sep 17 00:00:00 2001 From: ZLY Date: Fri, 14 Nov 2025 15:51:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(form):=20=E5=A2=9E=E5=BC=BA=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=A0=A1=E9=AA=8C=E4=B8=8E=E8=BE=93=E5=85=A5=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 InputNumber 组件用于端口输入- 添加 IP 地址格式校验规则- 添加 Docker 端口范围校验(1-65535) - 使用正则表达式验证 IP 和端口输入 - 替换 docker 端口输入框为数字输入组件 --- .../componentEnv/formEditor.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pages/componentDevelopment/componentEnv/formEditor.tsx b/src/pages/componentDevelopment/componentEnv/formEditor.tsx index cb9162a..057aea7 100644 --- a/src/pages/componentDevelopment/componentEnv/formEditor.tsx +++ b/src/pages/componentDevelopment/componentEnv/formEditor.tsx @@ -1,5 +1,5 @@ import React, { useState, forwardRef, useImperativeHandle, useEffect } from 'react'; -import { Form, Grid, Input, Message, Select } from '@arco-design/web-react'; +import { Form, Grid, Input, Message, Select, InputNumber } from '@arco-design/web-react'; import { submitEnvConfig } from '@/api/componentDeployEnv'; const FormItem = Form.Item; @@ -85,6 +85,10 @@ const FormEditor = forwardRef(({ if (!value) { return cb('请输入环境IP'); } + const ipRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; + if (!ipRegex.test(value)) { + return cb('请输入正确的IP地址:范围在0.0.0.0-255.255.255.255之间'); + } return cb(); } @@ -101,11 +105,16 @@ const FormEditor = forwardRef(({ return cb('请输入docker端口'); } + const portRegex = /^(?:[1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/; + if (!portRegex.test(value)) { + return cb('docker端口只能是1-65535之间'); + } + return cb(); } } ]}> - +