Zum Inhalt springen

Validierung bei update funktioniert nicht

Erstellt am 18. Januar 2016 · 1 Antwort · letzte Antwort am 21. April 2016

Tags: Update & Upgrade, Frage

mmbln ·

Hallo,

jetzt sitze ich hier schon einen Tag und seh den Fehler irgendwie nicht.

Ich habe das Problem, dass beim erstellen eines Datensatzes über ein Formular die Model-Validierung funktioniert. Wenn ich aber diesen Datensatz bearbeite, wird nichts validiert.

Hätte jemand einen Hinweis/Tipp, wo ich noch suchen könnte oder aber sogar eine Lösung des Problems?

Hier mein ControllerApartment.php:

	/**
	 * action list
	 *
	 * @return void
	 */
	public function listAction() {
		$apartments = $this->apartmentRepository->findAll($this->authService->getLoggedInUserObject());
		$this->view->assign('apartments', $apartments);
		$this->view->assign('customerlist', $this->customerRepository->findAll());
		$apartment = null;
		$this->view->assign('formVisible', false);
		if ($this->request->hasArgument('apartment') && $this->request->getArgument('apartment') > 0) {
			$apartment = $this->apartmentRepository->findByUid($this->request->getArgument('apartment'));
			$this->view->assign('formVisible', true);
		}
		if ($this->request->hasArgument('formVisible') || $this->controllerContext->getRequest()->getOriginalRequestMappingResults()->hasErrors()) {
			$this->view->assign('formVisible', true);
		}
		$this->view->assign('apartment', $apartment);
	}

	public function errorAction(){
		\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this);
		die();
	}

	/**
	 * action update
	 *
	 * @param \Mmos\Fewoman\Domain\Model\Apartment $apartment
	 * @return void
	 */
	public function updateAction(\Mmos\Fewoman\Domain\Model\Apartment $apartment) {
		if ($apartment->_isNew()) {
			$this->apartmentRepository->add($apartment);
			$this->addFlashMessage('Datensatz wurde hinzugefügt', '', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK);
			$currentUser = $this->authService->getLoggedInUserObject();
			$currentUser->addAccessApartment($apartment);
			$this->userRepository->update($currentUser);
		} else {
			$this->apartmentRepository->update($apartment);
			$this->addFlashMessage('Datensatz wurde aktualisiert', '', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK);
		}

		$this->redirect('list');
	}

Hier das Model Apartment.php

namespace Mmos\Fewoman\Domain\Model;

/**
 * Apartment
 */
class Apartment extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

	/**
	 * title
	 *
	 * @var string
	 * @validate NotEmpty
	 * @validate StringLength(minimum = 3, maximum = 250)
	 */
	protected $title = '';

	/**
	 * street
	 *
	 * @var string
	 * @validate NotEmpty
	 * @validate StringLength(minimum = 3, maximum = 250)
	 */
	protected $street = '';

	/**
	 * zip
	 *
	 * @var string
	 * @validate NotEmpty
	 * @validate StringLength(minimum = 3, maximum = 5)
	 */
	protected $zip = '';

	/**
	 * city
	 *
	 * @var string
	 * @validate NotEmpty
	 * @validate StringLength(minimum = 3, maximum = 250)
	 */
	protected $city = '';

	/**
	 * customer
	 *
	 * @var \Mmos\Fewoman\Domain\Model\Customer
	 * @validate NotEmpty
	 */
	protected $customer = NULL;

Warum wird beim erzeugen validiert, aber nicht beim aktualisieren?

VG Micha

AnnaM ·

Hallo Micha,

ich habe genau dasselbe Problem. Hast du es inzwischen lösen können? Woran lag's?

Schöne Grüße
Anna