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