Example #1
0
 public function validate(Http_Request $request)
 {
     /* Выполняем базовую проверку */
     $result = parent::validate($request, $user);
     /* Если пароль прошёл проверку, то проверяем оба поля пароля на совпадение */
     if (!$this->hasError('passwd') && $this->passwd->value !== $this->passwd_check->value) {
         $this->setValidationError('passwd', 'Пароли должны совпадать');
         $result = false;
     }
     if ($this->hasError('passwd')) {
         $this->setValue('passwd', '');
         $this->setValue('passwd_check', '');
     }
     if (false === $result) {
         return false;
     }
     return $result;
 }
Example #2
0
 public function validate(Http_Request $request, Model_Region $region, Model_Locality $locality)
 {
     $result = parent::validate($request);
     $result &= $this->_validateRegionId('region_id', $region, 'Выберите регион из списка');
     $result &= $this->_validateCityId('city_id', $locality, 'Выберите город из списка');
     $result &= $this->_validateOptionalField('flat', '/^[0-9]+$/ixu', 'Укажите номер квартиры (целое число)');
     $regex = sprintf('/^(%s|%s|%s)$/xu', Model_User::DOC_TYPE_DIPLOMA_HIGH, Model_User::DOC_TYPE_DIPLOMA_MEDIUM, Model_User::DOC_TYPE_CUSTOM);
     $result &= $this->_validateEduDocType('doc_type', $regex, 'Выберите вид документа или оставьте поле пустым');
     $doc_type = $this->doc_type->value;
     if (Model_User::DOC_TYPE_EMPTY !== $doc_type) {
         if (Model_User::DOC_TYPE_CUSTOM == $doc_type) {
             $result &= $this->_validateManual('doc_custom_type', self::REGEX_SYMBOLIC, 'Введите вид документа');
         }
         $result &= $this->_validateManual('doc_number', '/^[0-9а-яёa-z-_]+$/ixu', 'Введите номер документа');
         $result &= $this->_validateManual('exit_year', '/^[0-9]{4}$/ixu', 'Введите год окончания в формате гггг');
         $result &= $this->_validateManual('speciality', self::REGEX_SYMBOLIC, 'Введите специальность');
         $result &= $this->_validateManual('qualification', self::REGEX_SYMBOLIC, 'Введите квалификацию');
     }
     $result &= $this->_validateOptionalField('phone_mobile', '/^\\+7[\\s]+\\([0-9]{3}\\)[\\s]+[0-9]{3}-[0-9]{2}-[0-9]{2}$/ixu', 'Введите номер мобильного в формате +7 (xxx) xxx-xx-xx');
     $result &= $this->_validateOptionalField('phone_stationary', '/^[0-9-]+$/ixu', 'Введите номер телефона');
     return $result;
 }