ErrorInvalid `userId` param: Parameter must contain at most 36 chars. Valid chars are a-z, A-Z, 0-9
- 0
 - React Native
 
hello i'm trying to make a login / register page but i have this error
Invalid `userId` param: 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 char.
this is my code
Login.js
// LoginScreen.js
import React, { useState } from 'react';
import { View, Text, TextInput, Button, Alert } from 'react-native';
import { account } from '../../lib/AppWrite'; // Assurez-vous que l'objet account est correctement importé
import { useNavigation } from '@react-navigation/native';
export default function LoginScreen() {
    const [email, setEmail] = useState('');
    const [password, setPassword] = useState('');
    const navigation = useNavigation();
    const handleLogin = async () => {
        try {
            const session = await account.createSession(email, password);
            Alert.alert('Success', 'Logged in successfully!');
            navigation.navigate('Home');
        } catch (error) {
            Alert.alert('Error', error.message);
        }
    };
    return (
        <View style={{ padding: 20 }}>
            <Text>Email</Text>
            <TextInput
                style={{ borderBottomWidth: 1, marginBottom: 20 }}
                value={email}
                onChangeText={setEmail}
                placeholder="Enter your email"
                keyboardType="email-address"
            />
            <Text>Password</Text>
            <TextInput
                style={{ borderBottomWidth: 1, marginBottom: 20 }}
                value={password}
                onChangeText={setPassword}
                placeholder="Enter your password"
                secureTextEntry
            />
            <Button title="Login" onPress={handleLogin} />
        </View>
    );
}
and the second part
AppWrite.js
// appwriteClient.js
import { Client, Account } from 'appwrite';
const client = new Client()
  .setEndpoint('https://cloud.appwrite.io/v1') // Remplacez par l'URL de votre serveur Appwrite
  .setProject('66c3715f001bd1e503fb'); // Remplacez par votre ID de projet
const account = new Account(client);
export { account };
help plz
The best help I can offer you, is to read the documentation for whatever tool you want to use.
If you look at the Appwrite documentation you can see you're using the wrong method for what you're trying to accomplish.
https://appwrite.io/docs/references/cloud/client-web/account#createSession
The documentation is pretty good, I would start there and if you have any more struggles let me know. But I think the best way for you to learn and grow is to understand the tool first.
Recommended threads
- listDocuments is deprecated. What should...
``` const database = new Databases(client); export const updateSearchCount = async (query: string, movie: Movie) => { const result = await database.listDoc...
 - Questions about requests count on dashbo...
Hi guys I am new to this platform so I dont know if I am doing anything wrong. On dsahboard the request count is about 50k even though I dont feel like I have d...
 - Account.get throwing an error on EXPO SD...
I am updating my react app to use EXPO SDK 54 and appwrite-react-native SDK 0.17.x but the account.get() function is not working I use it to get the current us...