afterValidate Rückgabewert

hi,

ich möchte in afterValidate eine zusätzliche Eigenschaft überprüfen und bei misslingen eine Fehlermeldung an die View senden.

Wie kann ist das realisieren? return false bringt nichts.


	protected function afterValidate()

	{

		if($this->username == "Adi")

		{

			return false;

		}

	}

Fehlermeldung:

Der Benutzername Adi ist nicht erlaubt

Versuch mal so etwas wie:


	protected function beforeValidate()

	{

		if($this->username == "Adi")

		{

			$this->addError('username', 'Username darf nicht Adi sein');

		}

             return true;

	}

Eigentlich wäre das ganz leicht mit nem Validator zu regeln, der "invertiert", also das Ergebnis umkehrt. Würde zwar mit dem Regex-Validator auch gehen, allerdings nur mit einer relativ komplizierten Regel.

Hab daher mal ne Umfrage gestartet, ob wir so ein Feature für einige Validatoren brauchen können (siehe hier). Dann könntest du einfach so eine rule angeben:


array(

  'username',

  'in',

  'not'=>true,

  'range'=>array('adi','idiot','vollidiot'),

  'message'=>'Dieser Benutzername ist nicht erlaubt, du Nase!'

),