To fully hide the password, including the first character, you should set **"showCursor"** to *false*. Naturally, **obscureText** must also be set to *true*.
```php
child: TextField(
controller: _passwordController,
keyboardType: TextInputType.visiblePassword,
decoration: InputDecoration(
labelText: 'Password',
errorText: _passwordError,
errorMaxLines: 3,
),
obscureText: true,
showCursor: false,
autocorrect: false,
enableSuggestions: false,
),
```
In addition, also set **"autcorrect"** and **"enableSuggestions"** to false to prevent the phone dictionary from storing the password.
If you want the password to be entirely obscured, including the leading character, then you need to set **"showCursor"** to *false*. Of course you mainly need **"obscureText"** to be *true*.
```php
child: TextField(
controller: _passwordController,
keyboardType: TextInputType.visiblePassword,
decoration: InputDecoration(
labelText: 'Password',
errorText: _passwordError,
errorMaxLines: 3,
),
obscureText: true,
showCursor: false,
autocorrect: false,
enableSuggestions: false,
),
```
This solution ensures that not a single characters is visible. You should also set **"autocorrect"** and **"enableSuggestions"** to **false**, to prevent the phone dictionary from storing the user password as a word.