diff --git a/frontend/src/pages/Admin/Users/NewUserModal/index.jsx b/frontend/src/pages/Admin/Users/NewUserModal/index.jsx index 8b11c1a1128..236b8c78119 100644 --- a/frontend/src/pages/Admin/Users/NewUserModal/index.jsx +++ b/frontend/src/pages/Admin/Users/NewUserModal/index.jsx @@ -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("")} />

- 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

diff --git a/frontend/src/pages/Admin/Users/UserRow/EditUserModal/index.jsx b/frontend/src/pages/Admin/Users/UserRow/EditUserModal/index.jsx index 5a88e4d898d..aaf1b658be3 100644 --- a/frontend/src/pages/Admin/Users/UserRow/EditUserModal/index.jsx +++ b/frontend/src/pages/Admin/Users/UserRow/EditUserModal/index.jsx @@ -80,8 +80,8 @@ export default function EditUserModal({ currentUser, user, closeModal }) { autoComplete="off" />

- 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

diff --git a/server/models/user.js b/server/models/user.js index 5979de34788..35e8271bcfd 100644 --- a/server/models/user.js +++ b/server/models/user.js @@ -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({