diff --git a/components/user-name-form.tsx b/components/user-name-form.tsx index a9a6bb60d6b8afef336767bc7a59b30c93714583..609e0f75a4dfc9cf07073e3ee43f1865badaba34 100644 --- a/components/user-name-form.tsx +++ b/components/user-name-form.tsx @@ -91,7 +91,7 @@ export function UserNameForm({ user, className, ...props }: UserNameFormProps) { </Label> <Input id='name' - className='w-[400px] pl-6' + className='w-full pl-6' size={32} {...register('name')} /> diff --git a/lib/validations/auth.ts b/lib/validations/auth.ts index cc3f6350998a8f852aa002c3dbc7e67681106c58..74481632d8ff7d985d8bf940ec00b151dd2229cf 100644 --- a/lib/validations/auth.ts +++ b/lib/validations/auth.ts @@ -7,7 +7,11 @@ export const userAuthSchema = z.object({ z.string().email("Invalid email format"), ]) .optional(), - username: z.string().min(3, "Username must be at least 3 characters").max(15, "Username must be at most 15 characters").optional(), + username: z.string() + .min(3, "Username must be at least 3 characters") + .max(15, "Username must be at most 15 characters") + .regex(/^[a-zA-Z0-9_]+$/, "Please dont use special characters in your username") + .optional(), email: z.string().email("Invalid email format").optional(), password: z.string().min(6, "Password must be at least 6 characters").max(18, "Password must be at most 18 characters"), }) \ No newline at end of file diff --git a/lib/validations/username.ts b/lib/validations/username.ts index 8d5202d5af77e1e722eea12ae2afd564a339b97b..01f057837f57c8e6953ae37c2f3ed685787bed33 100644 --- a/lib/validations/username.ts +++ b/lib/validations/username.ts @@ -3,7 +3,7 @@ import { z } from 'zod' export const UsernameValidator = z.object({ name: z .string() - .min(3) - .max(32) - .regex(/^[a-zA-Z0-9_]+$/), + .min(3, "Username must be at least 3 characters") + .max(15, "Username must be at most 15 characters") + .regex(/^[a-zA-Z0-9_]+$/, "Please dont use special characters in your username") }) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 44f05c6fe4adf7199168740861acc1ea4b39a988..bef1938dc50997410a4f929fa45e24cb30bd14c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,10 +59,10 @@ "@testing-library/react": "^14.0.0", "@types/bcrypt": "^5.0.0", "@types/jest": "^29.5.3", - "@types/node": "^20.4.1", + "@types/node": "^20.4.2", "@types/nodemailer": "^6.4.8", "@types/react": "^18.2.14", - "@types/react-dom": "^18.2.6", + "@types/react-dom": "^18.2.7", "@types/swagger-ui-react": "^4.18.0", "autoprefixer": "10.4.14", "eslint": "^8.44.0", @@ -3387,9 +3387,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.4.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", - "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", + "version": "20.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", + "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==", "dev": true }, "node_modules/@types/nodemailer": { @@ -3431,9 +3431,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", - "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "devOptional": true, "dependencies": { "@types/react": "*" diff --git a/package.json b/package.json index f0cefafe23771a94afba5e923017c9d5ef3c4dcf..08c4c331e8bea8eca8f008afb1046a99088ce576 100644 --- a/package.json +++ b/package.json @@ -64,10 +64,10 @@ "@testing-library/react": "^14.0.0", "@types/bcrypt": "^5.0.0", "@types/jest": "^29.5.3", - "@types/node": "^20.4.1", + "@types/node": "^20.4.2", "@types/nodemailer": "^6.4.8", "@types/react": "^18.2.14", - "@types/react-dom": "^18.2.6", + "@types/react-dom": "^18.2.7", "@types/swagger-ui-react": "^4.18.0", "autoprefixer": "10.4.14", "eslint": "^8.44.0",