Skip to content

Commit 4d7b2a0

Browse files
committed
fix: only allow alphanumeric in server name
Signed-off-by: Evan Song <theevansong@gmail.com>
1 parent 22c4875 commit 4d7b2a0

File tree

1 file changed

+14
-1
lines changed
  • apps/frontend/src/pages/servers/manage/[id]/options

1 file changed

+14
-1
lines changed

apps/frontend/src/pages/servers/manage/[id]/options/index.vue

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
<span v-if="!serverName" class="text-sm text-rose-400">
1919
Server name must be at least 1 character long.
2020
</span>
21+
<span v-if="!isValidServerName" class="text-sm text-rose-400">
22+
Server name can only contain alphanumeric characters.
23+
</span>
2124
</div>
2225
</div>
2326

@@ -70,7 +73,7 @@
7073
<UiServersPyroLoading v-else />
7174
<div class="absolute bottom-[2.5%] left-[2.5%] z-10 w-[95%]">
7275
<UiServersSaveBanner
73-
v-if="hasUnsavedChanges"
76+
v-if="hasUnsavedChanges && isValidServerName"
7477
:server="props.server"
7578
:is-updating="isUpdating"
7679
:save="saveGeneral"
@@ -95,7 +98,17 @@ const serverName = ref(data.value?.name);
9598
const isUpdating = ref(false);
9699
const hasUnsavedChanges = computed(() => serverName.value && serverName.value !== data.value?.name);
97100
101+
const isValidServerName = computed(() => /^[a-zA-Z0-9]*$/.test(serverName.value ?? ""));
102+
103+
watch(serverName, (oldValue) => {
104+
if (!isValidServerName.value) {
105+
serverName.value = oldValue;
106+
}
107+
});
108+
98109
const saveGeneral = async () => {
110+
if (!isValidServerName.value) return;
111+
99112
try {
100113
isUpdating.value = true;
101114
await data.value?.updateName(serverName.value ?? "");

0 commit comments

Comments
 (0)