【发布时间】:2015-10-02 11:54:19
【问题描述】:
我正在尝试为我的模型实施自定义验证。我目前正在成功使用 Phalcon 库中包含的验证器,但是当我尝试实现我的验证器时,它不起作用。这是我的代码:
<?php
use Phalcon\Mvc\Model\Validator;
use Phalcon\Mvc\Model\ValidatorInterface;
use Phalcon\Mvc\EntityInterface;
class MaxMinValidator extends Validator implements ValidatorInterface
{
public function validate(EntityInterface $model)
{
$field = $this->getOption('field');
$min = $this->getOption('min');
$max = $this->getOption('max');
$value = $model->$field;
if ($min <= $value && $value <= $max) {
$this->appendMessage(
"The field doesn't have the right range of values",
$field,
"MaxMinValidator"
);
return false;
}
return true;
}
}
我正在尝试在我的模型中这样使用它:
public function validation()
{
$this->validate(new MaxMinValidator(
array(
"field" => "Email",
"min" => 10,
"max" => 100
)
));
}
该类已正确加载,但未执行验证功能,并且我的代码在尝试验证后停止执行。 注意:这与找到的代码完全相同 here。
【问题讨论】:
-
你在哪里创建了你的类?你注册了目录或命名空间吗?
-
我在我已在引导文件中注册的验证器目录下创建了该类。
-
您的 phalcon 版本是多少? (从 phpinfo() 检查它)
标签: php validation phalcon