/** * Adds validation rule for user password * * @param \Magento\Framework\Validator\DataObject $validator * @return \Magento\Framework\Validator\DataObject */ public function addPasswordRules(\Magento\Framework\Validator\DataObject $validator) { $passwordNotEmpty = new NotEmpty(); $passwordNotEmpty->setMessage(__('Password is required field.'), NotEmpty::IS_EMPTY); $minPassLength = self::MIN_PASSWORD_LENGTH; $passwordLength = new StringLength(['min' => $minPassLength, 'encoding' => 'UTF-8']); $passwordLength->setMessage(__('Your password must be at least %1 characters.', $minPassLength), \Zend_Validate_StringLength::TOO_SHORT); $passwordChars = new Regex('/[a-z].*\\d|\\d.*[a-z]/iu'); $passwordChars->setMessage(__('Your password must include both numeric and alphabetic characters.'), \Zend_Validate_Regex::NOT_MATCH); $validator->addRule($passwordNotEmpty, 'password')->addRule($passwordLength, 'password')->addRule($passwordChars, 'password'); return $validator; }
/** * @dataProvider isValidDataProvider * @param string $value * @param int $maxLength * @param bool $isValid */ public function testIsValid($value, $maxLength, $isValid) { $this->_validator->setMax($maxLength); $this->assertEquals($isValid, $this->_validator->isValid($value)); }