From 4c4df5cbb0de2b87364513c72edfabf8a5945ee3 Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Tue, 12 Aug 2025 18:42:48 +0800 Subject: [PATCH] feat: Modify the regular expression for website alias (#9969) --- frontend/src/global/form-rules.ts | 19 +++++++++++++++++++ frontend/src/lang/modules/en.ts | 1 + frontend/src/lang/modules/ja.ts | 1 + frontend/src/lang/modules/ko.ts | 1 + frontend/src/lang/modules/ms.ts | 1 + frontend/src/lang/modules/pt-br.ts | 1 + frontend/src/lang/modules/ru.ts | 1 + frontend/src/lang/modules/tr.ts | 1 + frontend/src/lang/modules/zh-Hant.ts | 1 + frontend/src/lang/modules/zh.ts | 1 + .../views/website/website/create/index.vue | 2 +- 11 files changed, 29 insertions(+), 1 deletion(-) diff --git a/frontend/src/global/form-rules.ts b/frontend/src/global/form-rules.ts index f14dc4b05..3b017f19f 100644 --- a/frontend/src/global/form-rules.ts +++ b/frontend/src/global/form-rules.ts @@ -329,6 +329,19 @@ const checkAppName = (rule: any, value: any, callback: any) => { } }; +const checkAlias = (rule: any, value: any, callback: any) => { + if (!value) { + callback(new Error(i18n.global.t('commons.rule.alias'))); + return; + } + const reg = /^(?![-_])[A-Za-z0-9._-]{1,30}(? { if (value === '' || typeof value === 'undefined' || value == null) { callback(new Error(i18n.global.t('commons.rule.domain'))); @@ -671,6 +684,7 @@ interface CommonRule { domainOrIP: FormItemRule; authBasicPassword: FormItemRule; ipv4orV6: FormItemRule; + alias: FormItemRule; paramCommon: FormItemRule; paramComplexity: FormItemRule; @@ -922,4 +936,9 @@ export const Rules: CommonRule = { validator: checkIpv4orV6, trigger: 'blur', }, + alias: { + required: true, + validator: checkAlias, + trigger: 'blur', + }, }; diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index b649b9922..7df1dd4d3 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -265,6 +265,7 @@ const message = { authBasicPassword: 'Supports letters, numbers, and common special characters, length 1-72', length128Err: 'Length cannot exceed 128 characters', maxLength: 'Length cannot exceed {0} characters', + alias: 'Supports English, numbers, - and _, length 1-30, and cannot start or end with -_.', }, res: { paramError: 'The request failed, please try again later!', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index b65ffc0bc..667642e6c 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -253,6 +253,7 @@ const message = { authBasicPassword: '英字、数字、一般的な特殊文字をサポート、長さ1-72', length128Err: '長さは128文字を超えることはできません', maxLength: '長さは {0} 文字を超えることはできません', + alias: '英字、数字、-と_をサポート、長さ1-30、-_で始まるまたは終わることはできません。', }, res: { paramError: 'リクエストが失敗しました。後でもう一度やり直してください!', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 35ed3bc44..94fe1a46f 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -255,6 +255,7 @@ const message = { authBasicPassword: '알파벳, 숫자 및 일반 특수 문자 지원, 길이 1-72', length128Err: '길이는 128자를 초과할 수 없습니다', maxLength: '길이는 {0}자를 초과할 수 없습니다', + alias: '영어, 숫자, - 및 _ 지원, 길이 1-30, -_로 시작하거나 끝날 수 없습니다.', }, res: { paramError: '요청이 실패했습니다. 나중에 다시 시도하세요!', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index d5100d6ed..ab5a73755 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -261,6 +261,7 @@ const message = { authBasicPassword: 'Menyokong huruf, nombor, dan aksara khas biasa, panjang 1-72', length128Err: 'Panjang tidak boleh melebihi 128 aksara', maxLength: 'Panjang tidak boleh melebihi {0} aksara', + alias: 'Menyokong Bahasa Inggeris, nombor, - dan _, panjang 1-30, dan tidak boleh bermula atau berakhir dengan -_.', }, res: { paramError: 'Permintaan gagal, sila cuba lagi nanti!', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index cd9c7a65d..25a4d48f6 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -259,6 +259,7 @@ const message = { authBasicPassword: 'Suporta letras, números e caracteres especiais comuns, comprimento 1-72', length128Err: 'O comprimento não pode exceder 128 caracteres', maxLength: 'O comprimento não pode exceder {0} caracteres', + alias: 'Suporta letras, números, - e _, comprimento de 1 a 30, e não pode começar ou terminar com -_.', }, res: { paramError: 'A solicitação falhou, por favor, tente novamente mais tarde!', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index d57928991..27bb17c81 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -256,6 +256,7 @@ const message = { authBasicPassword: 'Поддерживает буквы, цифры и общие специальные символы, длина 1-72', length128Err: 'Длина не может превышать 128 символов', maxLength: 'Длина не может превышать {0} символов', + alias: 'Поддерживает английский, цифры, - и _, длина 1-30, и не может начинаться или заканчиваться на -_.', }, res: { paramError: 'Запрос не удался, попробуйте позже!', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 92554c780..38a7361d5 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -269,6 +269,7 @@ const message = { authBasicPassword: 'Harf, rakam ve yaygın özel karakterler destekler, uzunluk 1-72', length128Err: 'Uzunluk 128 karakteri geçemez', maxLength: 'Uzunluk {0} karakteri geçemez', + alias: 'İngilizce, rakamlar, - ve _ destekler, uzunluk 1-30, ve -_ ile başlayamaz veya bitiremez.', }, res: { paramError: 'İstek başarısız, lütfen daha sonra tekrar deneyin!', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 2e1f680f7..87a329400 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -256,6 +256,7 @@ const message = { authBasicPassword: '支持字母、數字以及常見特殊字符,長度1-72', length128Err: '長度不能超過128位', maxLength: '長度不能超過 {0} 位', + alias: '支持英文、數字、-和_,長度1-30,並且不能以-、_開頭或結尾', }, res: { paramError: '請求失敗,請稍後重試!', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 1a94fd4af..36d5b48ae 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -254,6 +254,7 @@ const message = { authBasicPassword: '支持字母、数字以及常见特殊字符,长度1-72', length128Err: '长度不能超过128位', maxLength: '长度不能超过 {0} 位', + alias: '支持英文、数字、-和_,长度1-30,并且不能以-_开头和结尾', }, res: { paramError: '请求失败,请稍后重试!', diff --git a/frontend/src/views/website/website/create/index.vue b/frontend/src/views/website/website/create/index.vue index bbf299188..5382aa078 100644 --- a/frontend/src/views/website/website/create/index.vue +++ b/frontend/src/views/website/website/create/index.vue @@ -536,7 +536,7 @@ const initData = () => ({ const website = ref(initData()); const rules = ref({ primaryDomain: [Rules.domainWithPort], - alias: [Rules.appName], + alias: [Rules.alias], type: [Rules.requiredInput], webSiteGroupId: [Rules.requiredSelectBusiness], appInstallId: [Rules.requiredSelectBusiness],