-
-
Save Michael-Brooks/fbbba105cd816ef5c016 to your computer and use it in GitHub Desktop.
<?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])).+$/' | |
] | |
]; |
^(?=.*[a-z|A-Z])(?=.*[A-Z])(?=.*\d).+$
added extra OR A-Z as wasn't matching numeric passwords w/out lowercase chars
thanks. it worked
Thanks, saved some time with this. Tested it with RegExr.com and it's what I needed.
Thanks! I changed mine to accept lowercase or uppercase letters:
/^(?=.*[a-zA-Z])(?=.*\d).+$/
Thanks!
Thank you very much
Thank You
Thank you
Thanks.
Great ! Easy and crisp 🍡
Adding some more goodies -
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Validator;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// Register custom validators
Validator::extend('current_password', function ($attribute, $value, $parameters, $validator) {
return \Illuminate\Support\Facades\Hash::check($value, auth()->user()->password);
}, "The :attribute field does not match with your current password.");
Validator::extend('strong_password', function ($attribute, $value, $parameters, $validator) {
// Contain at least one uppercase/lowercase letters, one number and one special char
return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/', (string)$value);
}, 'Please make a strong password');
}
}
Thanks
How to apply this validation to ResetPassword also?
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
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?
Saved me some time, thanks!