123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\User\Model;
- use Magento\Framework\Validator\EmailAddress;
- use Magento\Framework\Validator\NotEmpty;
- use Magento\Framework\Validator\Regex;
- use Magento\Framework\Validator\StringLength;
- /**
- * Class for adding validation rules to an Admin user
- *
- * @api
- * @since 100.0.2
- */
- class UserValidationRules
- {
- /**
- * Minimum length of admin password
- */
- const MIN_PASSWORD_LENGTH = 7;
- /**
- * Adds validation rule for user first name, last name, username and email
- *
- * @param \Magento\Framework\Validator\DataObject $validator
- * @return \Magento\Framework\Validator\DataObject
- */
- public function addUserInfoRules(\Magento\Framework\Validator\DataObject $validator)
- {
- $userNameNotEmpty = new NotEmpty();
- $userNameNotEmpty->setMessage(
- __('"User Name" is required. Enter and try again.'),
- \Zend_Validate_NotEmpty::IS_EMPTY
- );
- $firstNameNotEmpty = new NotEmpty();
- $firstNameNotEmpty->setMessage(
- __('"First Name" is required. Enter and try again.'),
- \Zend_Validate_NotEmpty::IS_EMPTY
- );
- $lastNameNotEmpty = new NotEmpty();
- $lastNameNotEmpty->setMessage(
- __('"Last Name" is required. Enter and try again.'),
- \Zend_Validate_NotEmpty::IS_EMPTY
- );
- $emailValidity = new EmailAddress();
- $emailValidity->setMessage(
- __('Please enter a valid email.'),
- \Zend_Validate_EmailAddress::INVALID
- );
- /** @var $validator \Magento\Framework\Validator\DataObject */
- $validator->addRule(
- $userNameNotEmpty,
- 'username'
- )->addRule(
- $firstNameNotEmpty,
- 'firstname'
- )->addRule(
- $lastNameNotEmpty,
- 'lastname'
- )->addRule(
- $emailValidity,
- 'email'
- );
- return $validator;
- }
- /**
- * 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;
- }
- /**
- * Adds validation rule for user password confirmation
- *
- * @param \Magento\Framework\Validator\DataObject $validator
- * @param string $passwordConfirmation
- * @return \Magento\Framework\Validator\DataObject
- */
- public function addPasswordConfirmationRule(
- \Magento\Framework\Validator\DataObject $validator,
- $passwordConfirmation
- ) {
- $passwordConfirmation = new \Zend_Validate_Identical($passwordConfirmation);
- $passwordConfirmation->setMessage(
- __('Your password confirmation must match your password.'),
- \Zend_Validate_Identical::NOT_SAME
- );
- $validator->addRule($passwordConfirmation, 'password');
- return $validator;
- }
- }
|