vendor/rollerworks/password-strength-validator/src/Validator/Constraints/PasswordRequirements.php line 22

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the RollerworksPasswordStrengthValidator package.
  4.  *
  5.  * (c) Sebastiaan Stok <[email protected]>
  6.  *
  7.  * This source file is subject to the MIT license that is bundled
  8.  * with this source code in the file LICENSE.
  9.  */
  10. namespace Rollerworks\Component\PasswordStrength\Validator\Constraints;
  11. use Attribute;
  12. use Symfony\Component\Validator\Constraint;
  13. /**
  14.  * @Annotation
  15.  * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
  16.  */
  17. #[Attribute(Attribute::TARGET_PROPERTY | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
  18. class PasswordRequirements extends Constraint
  19. {
  20.     public $tooShortMessage = 'Your password must be at least {{length}} characters long.';
  21.     public $missingLettersMessage = 'Your password must include at least one letter.';
  22.     public $requireCaseDiffMessage = 'Your password must include both upper and lower case letters.';
  23.     public $missingNumbersMessage = 'Your password must include at least one number.';
  24.     public $missingSpecialCharacterMessage = 'Your password must contain at least one special character.';
  25.     public $minLength = 6;
  26.     public $requireLetters = true;
  27.     public $requireCaseDiff = false;
  28.     public $requireNumbers = false;
  29.     public $requireSpecialCharacter = false;
  30.     public function __construct(
  31.         $options = null,
  32.         ?array $groups = null,
  33.                $payload = null,
  34.         ?int $minLength = null,
  35.         ?bool $requireLetters = null,
  36.         ?bool $requireCaseDiff = null,
  37.         ?bool $requireNumbers = null,
  38.         ?bool $requireSpecialCharacter = null,
  39.         ?string $tooShortMessage = null,
  40.         ?string $missingLettersMessage = null,
  41.         ?string $requireCaseDiffMessage = null,
  42.         ?string $missingNumbersMessage = null,
  43.         ?string $missingSpecialCharacterMessage = null
  44.     ) {
  45.         parent::__construct($options ?? [], $groups, $payload);
  46.         $this->tooShortMessage = $tooShortMessage ?? $this->tooShortMessage;
  47.         $this->missingLettersMessage = $missingLettersMessage ?? $this->missingLettersMessage;
  48.         $this->requireCaseDiffMessage = $requireCaseDiffMessage ?? $this->requireCaseDiffMessage;
  49.         $this->missingNumbersMessage = $missingNumbersMessage ?? $this->missingNumbersMessage;
  50.         $this->missingSpecialCharacterMessage = $missingSpecialCharacterMessage ?? $this->missingSpecialCharacterMessage;
  51.         $this->minLength = $minLength ?? $this->minLength;
  52.         $this->requireLetters = $requireLetters ?? $this->requireLetters;
  53.         $this->requireCaseDiff = $requireCaseDiff ?? $this->requireCaseDiff;
  54.         $this->requireNumbers = $requireNumbers ?? $this->requireNumbers;
  55.         $this->requireSpecialCharacter = $requireSpecialCharacter ?? $this->requireSpecialCharacter;
  56.     }
  57. }