Validating a registration form in Laravel to return an error message if the submitted username already exists.
This can be used for other fields like an email address or a membership number.
To validate if a field already exists in the database use the unique validation rule. Its simple format is:
unique:TABLE,COLUMN
such as
unique:users,username
The validator in app/Http/Controllers/Auth/RegisterController.php with a custom message returned if the username already exists
protected function validator(array $data)
{
return Validator::make($data, [
'username' => ['required', 'string', 'max:32', 'unique:users,username'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
], [
'username.unique' => 'Sorry, this username has already been taken!',
]);
} If a username already exists when trying to create a new account this is the message shown
A drained and empty Kennington reservoir images from a drone in early July 2024. The…
Merrimu Reservoir from drone. Click images to view larger.
Some early September spring shots from a bushwalk, It is still too early for wildflowers.
I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…
If you ever needed a simple solution in Laravel to delete an entire directory and…
How to enforce only one user to register or be registered in a Laravel web…