From 1e14fb21bbd90057e0c5addd87bcc4c7460a46b1 Mon Sep 17 00:00:00 2001
From: Tim <135014430+nagisa77@users.noreply.github.com>
Date: Wed, 16 Jul 2025 19:51:55 +0800
Subject: [PATCH] Relax username length requirement and remove nickname
---
open-isle-cli/src/views/SettingsPageView.vue | 2 --
open-isle-cli/src/views/SignupPageView.vue | 8 -------
.../openisle/service/UsernameValidator.java | 4 ++--
.../service/UsernameValidatorTest.java | 22 +++++++++++++++++++
4 files changed, 24 insertions(+), 12 deletions(-)
create mode 100644 src/test/java/com/openisle/service/UsernameValidatorTest.java
diff --git a/open-isle-cli/src/views/SettingsPageView.vue b/open-isle-cli/src/views/SettingsPageView.vue
index ae9d90dbd..05b2df93e 100644
--- a/open-isle-cli/src/views/SettingsPageView.vue
+++ b/open-isle-cli/src/views/SettingsPageView.vue
@@ -158,8 +158,6 @@ export default {
this.usernameError = ''
if (!this.username) {
this.usernameError = '用户名不能为空'
- } else if (this.username.length < 6) {
- this.usernameError = '用户名至少6位'
}
if (this.usernameError) {
toast.error(this.usernameError)
diff --git a/open-isle-cli/src/views/SignupPageView.vue b/open-isle-cli/src/views/SignupPageView.vue
index cff825438..27447f02c 100644
--- a/open-isle-cli/src/views/SignupPageView.vue
+++ b/open-isle-cli/src/views/SignupPageView.vue
@@ -33,11 +33,6 @@
/>
{{ passwordError }}
-
验证邮箱
@@ -113,7 +108,6 @@ export default {
emailError: '',
usernameError: '',
passwordError: '',
- nickname: '',
code: '',
isWaitingForEmailSent: false,
isWaitingForEmailVerified: false
@@ -149,8 +143,6 @@ export default {
}
if (!this.username) {
this.usernameError = '用户名不能为空'
- } else if (this.username.length < 6) {
- this.usernameError = '用户名至少6位'
}
if (this.emailError || this.passwordError || this.usernameError) {
return
diff --git a/src/main/java/com/openisle/service/UsernameValidator.java b/src/main/java/com/openisle/service/UsernameValidator.java
index 5db4c5c6c..70fda0a1f 100644
--- a/src/main/java/com/openisle/service/UsernameValidator.java
+++ b/src/main/java/com/openisle/service/UsernameValidator.java
@@ -14,8 +14,8 @@ public class UsernameValidator {
* @param username the username to validate
*/
public void validate(String username) {
- if (username == null || username.length() < 6) {
- throw new FieldException("username", "Username must be at least 6 characters long");
+ if (username == null || username.isEmpty()) {
+ throw new FieldException("username", "Username cannot be empty");
}
}
}
diff --git a/src/test/java/com/openisle/service/UsernameValidatorTest.java b/src/test/java/com/openisle/service/UsernameValidatorTest.java
new file mode 100644
index 000000000..55300ad56
--- /dev/null
+++ b/src/test/java/com/openisle/service/UsernameValidatorTest.java
@@ -0,0 +1,22 @@
+package com.openisle.service;
+
+import com.openisle.exception.FieldException;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class UsernameValidatorTest {
+
+ @Test
+ void rejectsEmptyUsername() {
+ UsernameValidator validator = new UsernameValidator();
+ assertThrows(FieldException.class, () -> validator.validate(""));
+ assertThrows(FieldException.class, () -> validator.validate(null));
+ }
+
+ @Test
+ void allowsShortUsername() {
+ UsernameValidator validator = new UsernameValidator();
+ assertDoesNotThrow(() -> validator.validate("a"));
+ }
+}