<?php
namespace App\Validator;
use Symfony\Component\Validator\Constraint;
/**
* @Annotation
*/
class Password extends Constraint
{
/*
* Any public properties become valid options for the annotation.
* Then, use these in your validator class.
*/
public $tooShortMessage = 'Your password must have at least {{length}} characters ';
public $missingLettersMessage = 'Your password must contain at least one letter.';
public $requireCaseDiffMessage = 'Your password must contain at least one upper and lower case letter.';
public $missingNumbersMessage = 'Your password must contain at least one number.';
public $missingSpecialCharacterMessage = 'Your password must contain at least one special character.';
public $minLength = 8;
public $requireLetters = true;
public $requireCaseDiff = true;
public $requireNumbers = true;
public $requireSpecialCharacter = false;
public function __construct(
$options = null,
?array $groups = null,
$payload = null,
?int $minLength = null,
?bool $requireLetters = null,
?bool $requireCaseDiff = null,
?bool $requireNumbers = null,
?bool $requireSpecialCharacter = null,
?string $tooShortMessage = null,
?string $missingLettersMessage = null,
?string $requireCaseDiffMessage = null,
?string $missingNumbersMessage = null,
?string $missingSpecialCharacterMessage = null
) {
parent::__construct($options ?? [], $groups, $payload);
$this->tooShortMessage = $tooShortMessage ?? $this->tooShortMessage;
$this->missingLettersMessage = $missingLettersMessage ?? $this->missingLettersMessage;
$this->requireCaseDiffMessage = $requireCaseDiffMessage ?? $this->requireCaseDiffMessage;
$this->missingNumbersMessage = $missingNumbersMessage ?? $this->missingNumbersMessage;
$this->missingSpecialCharacterMessage = $missingSpecialCharacterMessage ?? $this->missingSpecialCharacterMessage;
$this->minLength = $minLength ?? $this->minLength;
$this->requireLetters = $requireLetters ?? $this->requireLetters;
$this->requireCaseDiff = $requireCaseDiff ?? $this->requireCaseDiff;
$this->requireNumbers = $requireNumbers ?? $this->requireNumbers;
$this->requireSpecialCharacter = $requireSpecialCharacter ?? $this->requireSpecialCharacter;
}
}