Last active
July 7, 2024 03:44
-
-
Save Michael-Brooks/fbbba105cd816ef5c016 to your computer and use it in GitHub Desktop.
Laravel Password validation Regex (Contain at least one uppercase/lowercase letters and one number)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Place this with the rest of your rules. | |
* Doesn't need to be in an array as there are no pipes. | |
* Password is required with a minimum of 6 characters | |
* Should have at least 1 lowercase AND 1 uppercase AND 1 number | |
*/ | |
$rules = [ | |
'password' => 'required|min:6|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/' | |
]; | |
/* | |
* Use this one if you also require at least one symbol. | |
* Needs to be in an array as it contains a pipe symbol. | |
* Password is required with a minimum of 6 characters | |
* Should have at least 1 lowercase AND 1 uppercase AND 1 number AND 1 symbol | |
*/ | |
$rules = [ | |
'password' => [ | |
'required', | |
'min:6', | |
'regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/' | |
] | |
]; |
How to apply this validation to ResetPassword also?
You can override the rules trait by doing something like
protected function rules() { return [ 'token' => 'required', 'email' => 'required|email', 'password' => [ 'required', 'min:6', 'regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/' ], ]; }
And placing that inside
/app/Http/Controllers/Auth/ResetPasswordController.php
Awesome! Worked perfectly here, thank you very much Michael!
very usefull one..
only capital latter with a integer and not allowed special characters because i am used for promo codes.
what about adding custom error messages on laravel 9 and 10 about new rule?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@rafaelfn
You can override the rules trait by doing something like
And placing that inside
/app/Http/Controllers/Auth/ResetPasswordController.php