https://github.com/pragaonj/laminas-password-validator
laminas-password-validator provides a validator for character-set based input validation.
https://github.com/pragaonj/laminas-password-validator
laminas laminas-validator password-validator php
Last synced: 6 months ago
JSON representation
laminas-password-validator provides a validator for character-set based input validation.
- Host: GitHub
- URL: https://github.com/pragaonj/laminas-password-validator
- Owner: pragaonj
- License: bsd-3-clause
- Created: 2022-01-07T09:38:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-07T11:35:15.000Z (over 4 years ago)
- Last Synced: 2026-01-13T22:41:41.950Z (6 months ago)
- Topics: laminas, laminas-validator, password-validator, php
- Language: PHP
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# laminas-password-validator
laminas-password-validator provides a validator for character-set based input validation.
## Installation
`composer require pragaonj/laminas-password-validator`
## Usage
The password validator implements laminas `Laminas\Validator\ValidatorInterface` and can be used like every other laminas validator. The validator requires two options:
- `characterSets`
contains an array of considered character-sets (possible values are: _DIGIT, LETTER, CAPITAL_LETTER, SPECIAL_CHARACTER_)
- `numberOfRequiredCharacterSets`
the number of considered character-sets that need to be present in the password.
### General usage
```php
use Pragaonj\Validator\PasswordValidator;
$validator = new PasswordValidator([
"characterSets" =>
[
PasswordValidator::SPECIAL_CHARACTER,
PasswordValidator::LETTER,
PasswordValidator::CAPITAL_LETTER,
PasswordValidator::DIGIT,
],
"numberOfRequiredCharacterSets" => 4, // requires all 4 character-sets to be present in the password
]);
$valid = $validator->isValid("myInsecurePassword");
$messages = $validator->getMessages();
```
To overwrite the default error message you can set the messageTemplate for `msgNotEnoughCharacterSets`.
```php
use Pragaonj\Validator\PasswordValidator;
$validator = new PasswordValidator([
"characterSets" =>
[
PasswordValidator::SPECIAL_CHARACTER,
PasswordValidator::LETTER,
PasswordValidator::CAPITAL_LETTER,
PasswordValidator::DIGIT,
],
"numberOfRequiredCharacterSets" => 3,
"messageTemplates" => [
PasswordValidator::MSG_NOTENOUGHCHARACTARSETS => "my custom error message"
]
]);
$valid = $validator->isValid("myInsecurePassword");
$messages = $validator->getMessages();
// will return ["msgNotEnoughCharacterSets" => "my custom error message"]
```
### Usage in laminas-mvc application
To use the validator in a laminas-mvc application register it as invokable in your `module.config.php`.
```php
use Pragaonj\Validator\PasswordValidator;
return [
'validators' => [
'invokables' => [
PasswordValidator::class,
],
"aliases" => [
"PasswordValidator" => PasswordValidator::class,
]
],
];
```