![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-user/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\User\Model; use Laminas\Validator\Identical; use Magento\Framework\Validator\DataObject; 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 */ public const MIN_PASSWORD_LENGTH = 7; /** * Adds validation rule for user first name, last name, username and email * * @param DataObject $validator * @return DataObject */ public function addUserInfoRules(DataObject $validator) { $userNameNotEmpty = new NotEmpty(); $userNameNotEmpty->setMessage( __('"User Name" is required. Enter and try again.'), NotEmpty::IS_EMPTY ); $firstNameNotEmpty = new NotEmpty(); $firstNameNotEmpty->setMessage( __('"First Name" is required. Enter and try again.'), NotEmpty::IS_EMPTY ); $lastNameNotEmpty = new NotEmpty(); $lastNameNotEmpty->setMessage( __('"Last Name" is required. Enter and try again.'), NotEmpty::IS_EMPTY ); $emailValidity = new EmailAddress(); $emailValidity->setMessage( __('Please enter a valid email.'), EmailAddress::INVALID ); /** @var $validator DataObject */ $validator->addRule( $userNameNotEmpty, 'username' )->addRule( $firstNameNotEmpty, 'firstname' )->addRule( $lastNameNotEmpty, 'lastname' )->addRule( $emailValidity, 'email' ); return $validator; } /** * Adds validation rule for user password * * @param DataObject $validator * @return DataObject */ public function addPasswordRules(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), StringLength::TOO_SHORT ); $passwordChars = new Regex('/[a-z].*\d|\d.*[a-z]/iu'); $passwordChars->setMessage( __('Your password must include both numeric and alphabetic characters.'), Regex::NOT_MATCH ); $validator->addRule( $passwordNotEmpty, 'password' )->addRule( $passwordLength, 'password' )->addRule( $passwordChars, 'password' ); return $validator; } /** * Adds validation rule for user password confirmation * * @param DataObject $validator * @param string $passwordConfirmation * @return DataObject */ public function addPasswordConfirmationRule( DataObject $validator, $passwordConfirmation ) { $passwordConfirmation = new Identical($passwordConfirmation); $passwordConfirmation->setMessage( __('Your password confirmation must match your password.'), Identical::NOT_SAME ); $validator->addRule($passwordConfirmation, 'password'); return $validator; } }