Allow period in username (#3592)

* allow period in username

* update validation hint

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
This commit is contained in:
Sean Hatfield
2025-04-03 16:42:39 -07:00
committed by GitHub
parent 8af7a08ad3
commit 2e947050df
3 changed files with 7 additions and 14 deletions

View File

@@ -62,17 +62,10 @@ export default function NewUserModal({ closeModal }) {
minLength={2}
required={true}
autoComplete="off"
pattern="^[a-z0-9_-]+$"
onInvalid={(e) =>
e.target.setCustomValidity(
"Username must only contain lowercase letters, numbers, underscores, and hyphens with no spaces"
)
}
onChange={(e) => e.target.setCustomValidity("")}
/>
<p className="mt-2 text-xs text-white/60">
Username must only contain lowercase letters, numbers,
underscores, and hyphens with no spaces
Username must only contain lowercase letters, periods,
numbers, underscores, and hyphens with no spaces
</p>
</div>
<div>

View File

@@ -80,8 +80,8 @@ export default function EditUserModal({ currentUser, user, closeModal }) {
autoComplete="off"
/>
<p className="mt-2 text-xs text-white/60">
Username must only contain lowercase letters, numbers,
underscores, and hyphens with no spaces
Username must only contain lowercase letters, periods,
numbers, underscores, and hyphens with no spaces
</p>
</div>
<div>

View File

@@ -13,7 +13,7 @@ const { EventLogs } = require("./eventLogs");
*/
const User = {
usernameRegex: new RegExp(/^[a-z0-9_-]+$/),
usernameRegex: new RegExp(/^[a-z0-9_\-.]+$/),
writable: [
// Used for generic updates so we can validate keys in request body
"username",
@@ -95,7 +95,7 @@ const User = {
// Do not allow new users to bypass validation
if (!this.usernameRegex.test(username))
throw new Error(
"Username must only contain lowercase letters, numbers, underscores, and hyphens with no spaces"
"Username must only contain lowercase letters, periods, numbers, underscores, and hyphens with no spaces"
);
const bcrypt = require("bcrypt");
@@ -175,7 +175,7 @@ const User = {
return {
success: false,
error:
"Username must only contain lowercase letters, numbers, underscores, and hyphens with no spaces",
"Username must only contain lowercase letters, periods, numbers, underscores, and hyphens with no spaces",
};
const user = await prisma.users.update({