Ich weiß nicht so recht, wie ich mein Problem betiteln sollte. Es ist eine, zumindest für mich, komplexe Sache, in der ich alleine nicht mehr durchblicke.
Ich teste etwas Softwaredesign und habe mich an den Beispielen im Netz orientiert einen Registrationscontroller gebaut.
Danach wird in der RegistrationForm in der Methoe isValid($posts) die Prüfung durchgenommen und bei Fehlern die Methode Registry::getInstance()->validator->setErrors($this->errors) befüllt.
Da ich dachte, dass die Registry einen Container darstellt, in dem das Objekt validator im aktuellen Zustand enthalten ist, habe ich diese im View aufgerufen.
newuserview.php
Aber die Registry::getInstance()->validator->getErrors() ist leer. Lasse ich das Objekt validator in der RegistrationForm ausgeben lasse, ist sie befüllt aber im view ist sie leer. Greif die view aber nicht auf dasselbe Objekt in der Registry?
Oder wo sollten die Fehler, welche in der RegistrationForm->isValid() entdeckt werden, zwischengespeichert werden, damit die View sie sich holen kann, wenn das Formular nicht ordentlich befüllt wurde?
Ich teste etwas Softwaredesign und habe mich an den Beispielen im Netz orientiert einen Registrationscontroller gebaut.
PHP-Code:
class RegistrationController extends Controller
{
public function execute()
{
$form = new RegistrationForm;
if($this->request->issetPost()) {
$posts = $this->request->getPosts();
if($form->isValid($posts)) {
// [..save..]
}
}
}
}
Da ich dachte, dass die Registry einen Container darstellt, in dem das Objekt validator im aktuellen Zustand enthalten ist, habe ich diese im View aufgerufen.
newuserview.php
PHP-Code:
</head>
<body>
<?php
$fehler = Registry::getInstance()->validator->getErrors();
if($fehler) {
foreach($fehler as $fehlermeldung) {
echo '<p>'. $fehlermeldung . '</p>';
}
}
?>
<form accept-charset="utf-8" action="newuser.php" method="post">
Oder wo sollten die Fehler, welche in der RegistrationForm->isValid() entdeckt werden, zwischengespeichert werden, damit die View sie sich holen kann, wenn das Formular nicht ordentlich befüllt wurde?
Kommentar