/** * PasswordFilter constructor. * @param PasswordOptions $passwordOptions * @param SecretQuestion $secretQuestionService */ public function __construct(PasswordOptions $passwordOptions, SecretQuestion $secretQuestionService) { $this->passwordOptions = $passwordOptions; if ($this->passwordOptions->isSecretQuestion()) { $similarText = new SimilarText($secretQuestionService); $this->setSimilarText($similarText); } $passwordLengthOptions = $this->passwordOptions->getLength(); $this->add(['name' => 'password', 'required' => true, 'filters' => [['name' => 'StringTrim']], 'validators' => [['name' => 'StringLength', 'options' => ['min' => $passwordLengthOptions['min'], 'max' => $passwordLengthOptions['max']]], new PasswordRules($passwordOptions)]]); $this->add(['name' => 'passwordVerify', 'required' => true, 'filters' => [['name' => 'StringTrim']], 'validators' => [['name' => 'StringLength', 'options' => ['min' => $passwordLengthOptions['min'], 'max' => $passwordLengthOptions['max']]], ['name' => 'Identical', 'options' => ['token' => 'password']], new PasswordRules($passwordOptions)]]); }
/** * @param PasswordOptions $passwordOptions */ public function __construct(PasswordOptions $passwordOptions) { $passwordLengthOptions = $passwordOptions->getLength(); $this->add(['name' => 'currentPassword', 'required' => true, 'filters' => [['name' => 'StringTrim']], 'validators' => [['name' => 'StringLength', 'options' => ['min' => $passwordLengthOptions['min'], 'max' => $passwordLengthOptions['max']]]]]); $this->add(['name' => 'password', 'required' => true, 'filters' => [['name' => 'StringTrim']], 'validators' => [['name' => 'StringLength', 'options' => ['min' => $passwordLengthOptions['min'], 'max' => $passwordLengthOptions['max']]], new PasswordRules($passwordOptions)]]); $this->add(['name' => 'passwordVerify', 'required' => true, 'filters' => [['name' => 'StringTrim']], 'validators' => [['name' => 'StringLength', 'options' => ['min' => $passwordLengthOptions['min'], 'max' => $passwordLengthOptions['max']]], ['name' => 'Identical', 'options' => ['token' => 'password']], new PasswordRules($passwordOptions)]]); }