deniak/password-strength-bundle
required, string, min, max, regex).symfony/validator) if other Symfony components are already in use.Illuminate\Auth\Events\Registered, RegisterUser form requests).laravel-password-strength) that offer similar functionality with better maintenance?use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
$validator = Validator::make($request->all(), [
'password' => [
'required',
'string',
'min:8', // Example: min length
'max:64', // Example: max length
'regex:/[a-z]/', // Lowercase
'regex:/[A-Z]/', // Uppercase
'regex:/[0-9]/', // Numeric
'regex:/[^a-zA-Z0-9]/', // Special chars
],
]);
PasswordStrength rule class:
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class PasswordStrength implements Rule {
public function passes($attribute, $value) {
// Port bundle’s logic here
return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$/', $value);
}
public function message() {
return 'Password must meet complexity requirements.';
}
}
Usage:
'password' => ['required', new PasswordStrength],
RegisterController/LoginController.Validate middleware.10,000 password validations/sec).Validator facade changes).varchar(255)) accommodates max length rules.RegisterRequest, ForgotPassword, etc.Validator, track updates to avoid breaking changes. Otherwise, no external dependencies.[Error] preg_match failure on password: "P@ss"
[Cause] Regex missed uppercase requirement.
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Regex logic error | Weak passwords accepted | Unit tests + manual review of rules |
| Database column too short | Password truncation | Set max: rule ≤ DB column length |
| Validation bypassed (e.g., API) | Security breach | Use Laravel’s Validate middleware |
| Bundle fork abandoned | No updates to rules | Maintain custom fork or rewrite |
CONTRIBUTING.md and runbooks.How can I help you explore Laravel packages today?