src/Validator/Password.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\Validator;
  3. use Symfony\Component\Validator\Constraint;
  4. /**
  5.  * @Annotation
  6.  */
  7. class Password extends Constraint
  8. {
  9.     /*
  10.      * Any public properties become valid options for the annotation.
  11.      * Then, use these in your validator class.
  12.      */
  13.     public $tooShortMessage 'Your password must have at least {{length}} characters ';
  14.     public $missingLettersMessage 'Your password must contain at least one letter.';
  15.     public $requireCaseDiffMessage 'Your password must contain at least one upper and lower case letter.';
  16.     public $missingNumbersMessage 'Your password must contain at least one number.';
  17.     public $missingSpecialCharacterMessage 'Your password must contain at least one special character.';
  18.     public $minLength 8;
  19.     public $requireLetters true;
  20.     public $requireCaseDiff true;
  21.     public $requireNumbers true;
  22.     public $requireSpecialCharacter false;
  23.     public function __construct(
  24.         $options null,
  25.         ?array $groups null,
  26.         $payload null,
  27.         ?int $minLength null,
  28.         ?bool $requireLetters null,
  29.         ?bool $requireCaseDiff null,
  30.         ?bool $requireNumbers null,
  31.         ?bool $requireSpecialCharacter null,
  32.         ?string $tooShortMessage null,
  33.         ?string $missingLettersMessage null,
  34.         ?string $requireCaseDiffMessage null,
  35.         ?string $missingNumbersMessage null,
  36.         ?string $missingSpecialCharacterMessage null
  37.     ) {
  38.         parent::__construct($options ?? [], $groups$payload);
  39.         $this->tooShortMessage $tooShortMessage ?? $this->tooShortMessage;
  40.         $this->missingLettersMessage $missingLettersMessage ?? $this->missingLettersMessage;
  41.         $this->requireCaseDiffMessage $requireCaseDiffMessage ?? $this->requireCaseDiffMessage;
  42.         $this->missingNumbersMessage $missingNumbersMessage ?? $this->missingNumbersMessage;
  43.         $this->missingSpecialCharacterMessage $missingSpecialCharacterMessage ?? $this->missingSpecialCharacterMessage;
  44.         $this->minLength $minLength ?? $this->minLength;
  45.         $this->requireLetters $requireLetters ?? $this->requireLetters;
  46.         $this->requireCaseDiff $requireCaseDiff ?? $this->requireCaseDiff;
  47.         $this->requireNumbers $requireNumbers ?? $this->requireNumbers;
  48.         $this->requireSpecialCharacter $requireSpecialCharacter ?? $this->requireSpecialCharacter;
  49.     }
  50. }