Registrierung: Zusätzliches Feld mit Validierung und Registrierung abbrechen

Ich bin mittlerweile soweit, dass ich es mit einem Replace-Hook auf den Register-Controller das ganze geprüft kriege:

 

public static function getSubscribedEvents()
    {
        return [
            'Shopware_Controllers_Frontend_Register::saveRegisterAction::replace' => 'onReplaceSaveRegister'
        ];
    }

    public function onReplaceSaveRegister(\Enlight_Hook_HookArgs $args)
    {
        /** @var \Shopware_Controllers_Frontend_Register $subject */
        $subject = $args->getSubject();
        $data = $subject->Request()->getPost();
        $customerVerification = $data['register']['personal']['verification'];

        if (!empty($customerVerification)) {
            $verification = $this->config->getByNamespace('CompraRegisterExtension', 'verification');
            if ($customerVerification !== $verification) {
                // Error message
                $errors['occurred'] = true;
                $errors['personal'][] = $this->snippetManager->getNamespace('frontend/register/compra_register_extension')
                    ->get('VerificationCodeNotValid', 'Bitte geben Sie einen gültigen Verifizierungscode ein.', true);
                $subject->View()->assign('errors', $errors);
                $subject->View()->assign($data);
                $subject->forward('index', 'register', 'frontend', $subject->Request()->getParams());
            }
        } else {
            $subject->executeParent($args->getMethod(), $args->getArgs());
        }


        $return = $args->getReturn();

        $args->setReturn($return);
    }

 

Mit forward geht er auch wieder zurück auf die Registrierungsseite, allerdings erhalte ich dann nur oben die Fehlermeldung…die Felder des Registrierungsformulars sind geleert und nicht aus den voherigen Eingaben übernommen…