Какой версией фреймворка Вы пользуетесь?
В версии 2.1 разработчики отказались от отдельного
валидатора в моделях (по-моему, это правильное решение).
Используйте Validation:
<?php
use Phalcon\Mvc\Model;
use Phalcon\Validation;
use Phalcon\Validation\Validator\Email as EmailValidator;
use Phalcon\Validation\Validator\Uniqueness as UniquenessValidator;
class Users extends Model
{
public function validation()
{
$validation = new Validation();
$validation
->add('email', new EmailValidator())
->add('email', new UniquenessValidator(array(
'model' => $this,
'message' => 'Sorry, The email was registered by another user'
)))
->add('username', new UniquenessValidator(array(
'model' => $this,
'message' => 'Sorry, That username is already taken'
)));
return $this->validate($validation);
}
}
А ошибки, если что, Вы можете вывести в котнроллере, используя метод
flash, конечно же, передав в него свою модель:
<?php
// ...
$user = new Users;
foreach ($user->getMessages() as $message) {
$this->flash->error($message->getMessage());
}
// ...
P.S. Фреймворк развивается, документация устаревает :)