function validation($data, $files)
 {
     global $CFG, $DB;
     $errors = parent::validation($data, $files);
     $authplugin = get_auth_plugin($CFG->registerauth);
     if (empty(trim($data['username']))) {
         $errors['username'] = get_string('missingemail');
     }
     if (!isset($errors['username'])) {
         if ($DB->record_exists('user', array('username' => $data['username'], 'mnethostid' => $CFG->mnet_localhost_id))) {
             $errors['username'] = get_string('usernameexists');
         }
         if ($authplugin->user_exists($data['username'])) {
             $errors['username'] = get_string('usernameexists');
         }
         if (!validate_email($data['username'])) {
             $errors['username'] = get_string('invalidemail');
         } else {
             if ($DB->record_exists('user', array('email' => $data['username']))) {
                 $errors['username'] = get_string('emailexists');
                 //  . ' <a href="forgot_password.php">' . get_string('newpassword') . '?</a>';
             }
         }
     }
     if (!isset($errors['username'])) {
         if ($err = email_is_not_allowed($data['username'])) {
             $errors['username'] = $err;
         }
     }
     require_once $CFG->dirroot . '/enrol/token/lib.php';
     $tokenValue = $data['token'];
     $tve = enrol_token_plugin::getTokenValidationErrors($tokenValue);
     if (isset($tve) && $tve !== '') {
         $errors['token'] = $tve;
     }
     return $errors;
 }