示例#1
0
 function __invoke($value, $options = [])
 {
     $result = new ValidationResult();
     $identity = $this->getAuthentication()->getIdentity();
     if (!($identity && password_verify($value, $identity->getPassword()))) {
         $result->setErrorMessage('Неправильный пароль. Для изменения пароля необходимо ввести текущий пароль');
     } else {
         $result->setValue($value);
     }
     return $result;
 }
示例#2
0
 function __invoke($value, $options = [])
 {
     $result = new ValidationResult();
     $result->setValue($value);
     /** @var \EvaUser\Entity\User $user */
     $user = $this->getEntityManager()->get('EvaUser\\Entity\\User')->findOneBy(['phoneNumber' => $value]);
     if ($user) {
         $result->setErrorMessage('Пользователь с таким телефоном уже существует');
     }
     return $result;
 }
示例#3
0
 function __invoke($value, $options = [])
 {
     $result = new ValidationResult();
     $result->setValue($value);
     /** @var \EvaUser\Entity\User $user */
     $user = $this->getEntityManager()->get('EvaUser\\Entity\\User')->findOneBy(['emailAddress' => $value]);
     if ($user) {
         $result->setErrorMessage('Пользователь с такой электронной почтной уже существует');
     }
     return $result;
 }
示例#4
0
 public function phone($value)
 {
     $result = new ValidationResult();
     $p = $value;
     $p = preg_replace('/[\\(\\)\\-]/i', "", $p);
     $p = preg_replace('/([0-9\\+]{0,2})[\\-\\ ]{1}([0-9]{0,3})[\\-\\ ]([0-9]{0,3})[\\-\\ ]([0-9]{0,2})[\\-\\ ]([0-9]{0,2})/i', "\$1\$2\$3\$4\$5", $p);
     $p = preg_replace('/([0-9\\+]{0,2})[\\-\\ ]{1}([0-9]{0,3})[\\-\\ ]([0-9]{0,3})[\\-\\ ]([0-9]{0,4})/i', "\$1\$2\$3\$4", $p);
     $p = preg_replace('/([0-9\\+]{0,2})[\\-\\ ]{1}([0-9]{0,3})[\\-\\ ]([0-9]{0,7})/i', "\$1\$2\$3", $p);
     $p = preg_replace('/([0-9\\+]{0,4})[\\-\\ ]{1}([0-9]{0,7})/i', "\$1\$2", $p);
     $p = preg_replace('/^([\\d]{10}+)$/i', "+7\$1", $p);
     $p = preg_replace('/[8]{1}+([9|4|3|8]{1}+)([0-9]{9})/i', "+7\$1\$2", $p);
     preg_match("/[+7]{2}+[0-9]{10}+/i", $p, $phone);
     $value = count($phone) ? current($phone) : '';
     $result->setValue($value);
     if (!$value) {
         $result->setErrorMessage(isset($options['error_message']) ? $options['error_message'] : 'Необходимо указать корректный номер телефонна');
     }
     return $result;
 }