@validate NotEmpty bei Modellerweiterung

  • NJoyLife NJoyLife
    R2-D2
    0 x
    83 Beiträge
    1 Hilfreiche Beiträge
    24. 02. 2013, 14:11

    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

    1. class Feuser extends \TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
    2.  
    3. /**
    4. * firstName
    5. * @var \string
    6. * @validate NotEmpty
    7. */
    8. protected $firstName ;
    9.  
    10. /**
    11. * lastName
    12. * @var \string
    13. * @validate NotEmpty
    14. */
    15. protected $lastName;
    16.  
    17. /**
    18. * username
    19. * @var \string
    20. * @validate NotEmpty
    21. */
    22. protected $username;

    Controller FeuserController.php

    1. /**
    2. * action update
    3. *
    4. * @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feuser
    5. * @return void
    6. */
    7. public function updateAction(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feuser) {
    8. $this->feuserRepository->update($feuser);
    9. $this->flashMessageContainer->add('Der Benutzer wurde aktualisiert.');
    10. $this->redirect('list');
    11. }

    View FormFields.php

    1. <div class="form_row">
    2. <label for="firstName">
    3. Vorname
    4. </label>
    5. <f:form.textfield property="firstName" />
    6. </div>
    7. <div class="form_row">
    8. <label for="lastName">
    9. Nachname
    10. </label>
    11. <f:form.textfield property="lastName" />
    12. </div>
    13. <div class="form_row">
    14. <label for="username">
    15. Username
    16. </label>
    17. <f:form.textfield property="username" />
    18. </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


  • 1
  • fan66766 fan66766
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    25. 02. 2013, 10:23

    Hallo NJoy,

    sieht alles auf den ersten Blick schlüssig aus.

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

    1. ...
    2. 'vorname' => array(
    3. 'exclude' => 0,
    4. 'label' => 'LLL:EXT:XXX/Resources/Private/Language/locallang_db.xlf:tx_XXX_domain_model_person.vorname',
    5. 'config' => array(
    6. 'type' => 'input',
    7. 'size' => 30,
    8. 'eval' => 'trim,required'
    9. ),
    10. ),
    11. ...

    [b]'eval' => 'trim,required'[/b]

  • 1