[TYPO3-mvc] Validator validates twice

Lang, Patrik Patrik.Lang at centaur.de
Thu May 20 09:47:42 CEST 2010


Hello list,

I have the problem that a validator I have written validates twice.

I have a saveAction in my Controller:

---snip---
      /**
       * Updates or creates given user
       *
       * @param Tx_Xchange_Domain_Model_User $user
       * @validate $user Tx_Xchange_Domain_Validator_UserValidator
       * @return void
       */
      public function saveAction(Tx_Xchange_Domain_Model_User $user, $usergroups = '', $close = 0) {
            ...
                }
---snip---

And my validator for the user model to check if the entered passwords are the same:

---snip---
class Tx_Xchange_Domain_Validator_UserValidator extends Tx_Extbase_Validation_Validator_AbstractValidator {

      /**
      * @param Tx_Xchange_Domain_Model_User $user
      */
      public function isValid($user) {
            $password = $user->getPassword();

            if(empty($password)) {
                  $password1 = $user->getPassword1();
                  $password2 = $user->getPassword2();
                  if(empty($password1) && empty($password2)) {
                        $this->addError(Tx_Extbase_Utility_Localization::translate('be_user_error_password1_1221560718', 'Xchange'), 1221560718);
                  } elseif($password1 !== $password2) {
                        $this->addError(Tx_Extbase_Utility_Localization::translate('be_user_error_password1_1234567890', 'Xchange'), 1234567890);
                  }
            }

            unset($password);
            unset($password1);
            unset($password2);

            return count($this->getErrors()) === 0;
      }
}
---snip---

Now if I enter different passwords or don't enter any password, I get the error twice.

It looks like the validator is called twice from extbase.

Is there something wrong? Is this a bug?

Greets
Patrik

________________________________
Diese Information ist ausschliesslich fuer die adressierte Person oder Organisation bestimmt und koennte vertrauliches und/oder privilegiertes Material enthalten. Personen oder Organisationen, fuer die diese Information nicht bestimmt ist, ist es nicht gestattet, diese zu lesen, erneut zu uebertragen, zu verbreiten, anderweitig zu verwenden oder sich durch sie veranlasst zu sehen, Massnahmen irgendeiner Art zu ergreifen. Sollten Sie diese Nachricht irrtuemlich erhalten haben, bitten wir Sie, sich mit dem Absender in Verbindung zu setzen und das Material von Ihrem Computer zu loeschen.

Sie haben uns gebeten, mit Ihnen ueber das Internet per E-Mail zu korrespondieren. Unbeschadet dessen ist allein die von uns unterzeichnete schriftliche Fassung verbindlich. Wir weisen darauf hin, dass derartige Nachrichten mit und ohne Zutun von Dritten verloren gehen, veraendert oder verfaelscht werden koennen. Herkoemmliche E-Mails sind nicht gegen den Zugriff von Dritten geschuetzt und deshalb ist auch die Vertraulichkeit unter Umstaenden nicht gewahrt Wir haften deshalb nicht fuer die Unversehrtheit von E-Mails nachdem sie unseren Herrschaftsbereich verlassen haben und koennen Ihnen hieraus entstehende Schaeden nicht ersetzen. Sollte trotz der von uns verwendeten Virus-Schutz-Programmen durch die Zusendung von E-Mails ein Virus in Ihre Systeme gelangen, haften wir nicht fuer eventuell hieraus entstehende Schaeden. Dieser Haftungsausschluss gilt nur soweit gesetzlich zulaessig.


More information about the TYPO3-project-typo3v4mvc mailing list