Zum Inhalt springen

@validate NotEmpty bei Modellerweiterung

Erstellt am 24. Februar 2013 · 1 Antwort · letzte Antwort am 25. Februar 2013

Tags: Frage

NJoyLife ·

Hallo zusammen

Ich habe in einer Extension die Tabelle fe_users erweitert. Meinen Benutzern soll es möglich sein, die Benutzerdaten zu aktualisieren. Es gibt also die Felder Vorname, Nachname, Benutzername aus fe_users...
Gerne würde ich beim Aktualisieren dieser Datensätze auf "@validate NotEmpty" zurückgreifen. Ist das überhaupt möglich oder muss ich einen eigenen Validator dafür schreiben?

Modell Feuser.php

class Feuser extends \TYPO3\CMS\Extbase\Domain\Model\FrontendUser {

/**
* firstName 
* @var \string
* @validate NotEmpty
*/
protected $firstName ;

/**
* lastName 
* @var \string
* @validate NotEmpty
*/
protected $lastName;

/**
* username 
* @var \string
* @validate NotEmpty
*/
protected $username;

Controller FeuserController.php

/**
* action update
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feuser
* @return void
*/
public function updateAction(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feuser) {
  $this->feuserRepository->update($feuser);
  $this->flashMessageContainer->add('Der Benutzer wurde aktualisiert.');
  $this->redirect('list');
}

View FormFields.php

<div class="form_row">
	<label for="firstName">
		Vorname
	</label>
	<f:form.textfield property="firstName" />
</div>
<div class="form_row">
<label for="lastName">
	Nachname
</label>
	<f:form.textfield property="lastName" />
</div>
<div class="form_row">
	<label for="username">
		Username
	</label>
	<f:form.textfield property="username" />
</div>

Leider wird nicht validiert. Ich kann komplett leere Datensätze erfolgreich anlegen 😢

Hat jemand einen Tipp für mich?

Danke im Voraus und viele Grüße
NJoyLife

fan66766 ·

Hallo NJoy,

sieht alles auf den ersten Blick schlüssig aus.

Hast Du schonmal im Configuration/TCA/FrontendUser.php nachgeschaut?
Bei den gewünschten Feldern sollte folgendes stehen:

...
'vorname' => array(
	'exclude' => 0,
	'label' => 'LLL:EXT:XXX/Resources/Private/Language/locallang_db.xlf:tx_XXX_domain_model_person.vorname',
	'config' => array(
		'type' => 'input',
		'size' => 30,
		'eval' => 'trim,required'
	),
),
...

'eval' => 'trim,required'