diff --git a/src/route/proj/ProjNew.tsx b/src/route/proj/ProjNew.tsx
index 79f5ea9..b118ce6 100644
--- a/src/route/proj/ProjNew.tsx
+++ b/src/route/proj/ProjNew.tsx
@@ -656,36 +656,20 @@ export default function ProjNew() {
rules={[
{ required: true, message: '请输入系统全称' },
{
- validator: (_rule, value, callback) => {
- if (value) {
- const modifiedValue = value.replace(/'/g, '');
- if (value !== modifiedValue) {
- // 更新表单值
- form.setFieldsValue({ projName: modifiedValue });
- }
- }
- callback();
- },
+ max: 80,
+ message: '系统全称不能超过80个字符'
},
+ {
+ pattern: /^[^']*$/, // 正则表达式:不包含任何英文单引号
+ message: '系统全称禁止使用英文单引号(\')'
+ }
+
]}
+ // normalize={(value) => value?.replace(/'/g, '') || ''}
+ // normalize={(value) => value?.replace(/['"]/g, '') || ''}
+
>
- {/* {
- // 打印值
- // console.log(e.target.value);
- if (e.target.value) {
- if (isEndsWithKeywords(e.target.value)) {
- setShowTip(false)
- } else {
- setShowTip(true)
- }
- } else {
- setShowTip(false)
- }
-
-
- }} style={{ background: '#eeeeee', width: '800px', height: '50px', fontSize: '16px' }} placeholder="请输入系统全称 (注:系统全称建议以“软件”、“系统”、“平台”或“APP”结尾)" /> */}
-
{
// setProjNameValue(value);
- if (value) {
- if (isEndsWithKeywords(value)) {
- setShowTip(false);
- } else {
- setShowTip(true);
- }
+ // 先检查基础规则是否通过
+ const isBasicValid = value
+ && value.length <= 80
+ && !/'/.test(value);
+
+ if (isBasicValid) {
+ // 基础规则通过后,再检查尾部关键词
+ setShowTip(!isEndsWithKeywords(value));
} else {
+ // 基础规则未通过,不显示尾部提示
setShowTip(false);
}
}}
@@ -775,6 +762,21 @@ export default function ProjNew() {
name="projSubName"
rules={[
{ required: false, message: '请输入系统简称' },
+ {
+ validator: async (_, value) => {
+ // 获取系统全称的值
+ const projName = await form.getFieldValue('projName');
+
+ // 如果系统简称和全称都存在,验证长度
+ if (value && projName) {
+ if (value.length > projName.length) {
+ return Promise.reject(new Error('系统简称长度不能大于系统全称'));
+ }
+ }
+ return Promise.resolve();
+ }
+ }
+
]}
>