Hi,
I want to make an check to make sure the correct datatype is received to update the database with.
I tried this:
use Phalcon\Mvc\Model\Validator\Numericality as NumericalityValidator;
class LevelCategories extends \Phalcon\Mvc\Model {
    /**
     *
     * @var integer
     */
    public $id;
    /**
     *
     * @var string
     */
    public $name;
    /**
     * Initialize method for model.
     */
    public function initialize() {
        $this->hasMany('id', 'Levels', 'category_id', 
                array(
                    "alias" => "levels",
                    "foreignKey" => array(
                        "message" => "The category cannot be deleted because other levels are using it"
                    )
                )
        );
    }
    public function validation() {
        $this->validate(new NumericalityValidator(array(
            "field" => 'id',
            "message" => "The id must be numeric"
        )));
        if ($this->validationHasFailed() == true) {
            return false;
        }
    }
}I tried this to get the error:
$category = LevelCategories::findFirst();
$category->id = "a string";
if ($instance->update() == false) {
        $messages = array();
        foreach ($instance->getMessages() as $message) {
            var_dump($message);
            array_push($messages, (string) $message);
        }
        echo implode("<br>", $messages);
    }The response I got was:
id is required
Which is of type "PresenceOf"
Most probably it triggers because the id value doesnt exist because it is invalid. But I want to get the error that the id must be numeric
Additional information:
PHP Version 5.5.9
Phalcon Version 2.0.10 Powered by Zephir Version 0.9.2a-dev