Development

How to validate if username already exists in Laravel

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

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

1 year ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

1 year ago

FTP getting array of file details such as size using PHP

Using FTP and PHP to get an array of file details such as size and…

2 years ago

Creating Laravel form requests

Creating and using Laravel form requests to create cleaner code, separation and reusability for your…

2 years ago

Improving the default Laravel login and register views

Improving the default Laravel login and register views in such a simple manner but making…

2 years ago

Laravel validation for checking if value exists in the database

Laravel validation for checking if a field value exists in the database. The validation rule…

2 years ago