Invalid userId: Parameter must contain at most 36 chars. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special character
That's the error am seeing when I tried to sign up using appwrite auth
Can you share the create function code?
This right
mport React, { useState } from "react"; import { account } from "./appwrite"; import "./auth.css" import { v4 as uuidv4 } from 'uuid';
function Signup() { const [username, setUsername] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState("");
const handleSignup = async (e) => { e.preventDefault();
try {
// Validate inputs
if (!username || !email || !password) {
setError("Please fill in all fields");
return;
}
// Call the createAccount method from appwrite object
const randomString = Math.random().toString(36).substring(2, 15);
// Combine username and random string to create user ID
const userId = `${username.replace(/[^a-zA-Z0-9.-_]/g, "").toLowerCase()}_${randomString}`
await account.create(email, password, username, userId);
// User sign-up successful, perform further actions like redirecting to the main page
// or updating the application state
console.log("User signed up successfully");
} catch (error) {
setError( error.message);
console.error("Failed to sign up", error);
}
};
import { Client, Account } from 'appwrite';
const appwrite = new Client(); appwrite.setEndpoint('myendpoint'); appwrite.setProject('myid');
const account = new Account(appwrite);
export { appwrite, account };
Everything seems fine, Just change the variables order in the function to this
await account.create(userId, email, password, username);
You can explore it here https://appwrite.io/docs/client/account?sdk=web-default#accountCreate
Wow! thank you it's working now
Can you mark it as solved @Devben.tech ?
How do I do that ?
I'll do it, np!
[SOLVED] Invalid userId:
Okayt thanks
Recommended threads
- Deploying to Sites will not work. NextJS
It’s been many times I have attempted to deploy to Appwrite and it’s always failed. The deployment itself works, the logs show it works perfectly, however when ...
- custom domain on cloudflair was verified...
I've added the credentials as instructed by the appwrite documentation, with cname set to dns only without proxy, and it successfully validated my domain, and w...
- Substring lookup for array elements
Hello, Is substring look up possible for array of strings? ```js Query.contains('product_names', [chair]), ``` this only works if I have the exact item name. `...