This is an automated email from the ASF dual-hosted git repository.

shuai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/answer.git

commit 18aef3aaad523aca1d425aa9d3734f59f6d31497
Author: Luffy <[email protected]>
AuthorDate: Fri Mar 14 18:07:51 2025 +0800

    fix: update admin name validation
---
 i18n/en_US.yaml                                      |  2 +-
 i18n/zh_CN.yaml                                      |  2 +-
 ui/src/pages/Install/components/FourthStep/index.tsx | 11 ++++++-----
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/i18n/en_US.yaml b/i18n/en_US.yaml
index 03de7411..db5052a3 100644
--- a/i18n/en_US.yaml
+++ b/i18n/en_US.yaml
@@ -1699,7 +1699,7 @@ ui:
     admin_name:
       label: Name
       msg: Name cannot be empty.
-      character: 'Must use the character set "a-z", "0-9", " - . _"'
+      character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
       msg_max_length: Name must be at maximum 30 characters in length.
     admin_password:
       label: Password
diff --git a/i18n/zh_CN.yaml b/i18n/zh_CN.yaml
index e16c0699..73c5c9a0 100644
--- a/i18n/zh_CN.yaml
+++ b/i18n/zh_CN.yaml
@@ -1662,7 +1662,7 @@ ui:
     admin_name:
       label: 名字
       msg: 名字不能为空。
-      character: '只能由 "a-z", "0-9", " - . _" 组成'
+      character: '只能由 "a-z"、"A-Z"、"0-9"、" - . _" 组成'
       msg_max_length: 名字长度不能超过 30 个字符。
     admin_password:
       label: 密码
diff --git a/ui/src/pages/Install/components/FourthStep/index.tsx 
b/ui/src/pages/Install/components/FourthStep/index.tsx
index 2c059851..6b37041c 100644
--- a/ui/src/pages/Install/components/FourthStep/index.tsx
+++ b/ui/src/pages/Install/components/FourthStep/index.tsx
@@ -45,6 +45,7 @@ const Index: FC<Props> = ({ visible, data, changeCallback, 
nextCallback }) => {
       password,
       email,
     } = data;
+    const nameRegex = /^[\w.-\s]{2,30}$/;
 
     if (!site_name.value) {
       bol = false;
@@ -115,19 +116,19 @@ const Index: FC<Props> = ({ visible, data, 
changeCallback, nextCallback }) => {
         isInvalid: true,
         errorMsg: t('admin_name.msg'),
       };
-    } else if (/[^a-z0-9\-._]/.test(name.value)) {
+    } else if (name.value.length < 2 || name.value.length > 30) {
       bol = false;
       data.name = {
         value: name.value,
         isInvalid: true,
-        errorMsg: t('admin_name.character'),
+        errorMsg: t('admin_name.msg_max_length'),
       };
-    } else if (data.name.value.length > 30) {
+    } else if (!nameRegex.test(name.value)) {
       bol = false;
       data.name = {
-        value: data.name.value,
+        value: name.value,
         isInvalid: true,
-        errorMsg: t('admin_name.msg_max_length'),
+        errorMsg: t('admin_name.character'),
       };
     }
 

Reply via email to