phalcon中model中验证报错

报错信息

Catchable fatal error: Argument 1 passed to Phalcon\Mvc\Model::validate() must implement interface Phalcon\ValidationInterface, instance of Phalcon\Mvc\Model\Validator\PresenceOf given in C:\wamp\www\test\apps\models\Robots.php on line 49

model中的验证代码

use Phalcon\Mvc\Model\Validator\PresenceOf;
use Phalcon\Mvc\Model\Validator\Uniqueness;

public function validation()
    {
        $this->validate(
            new PresenceOf(
                array(
                    "field" => "name",
                    "message" => self::NAME_NOT_EMPTY
                )
            )
        );
        $this->validate(
            new Uniqueness(
                array(
                    'field' => 'code',
                    'message' => self::ERR_CODE_NOT_UNID
                )
            )
        );
        if ($this->validationHasFailed() == true) {
            return false;
        }

        return true;
    }

---------------2016年9月28日 20:34:55补充--------------------

Robots model截图

图片描述

表结构
图片描述

阅读 3.5k
2 个回答

49行是哪一行?
还有把Robots模型对应的表结构贴上来

--------------------------2016-09-29更新--------------------------------

仔细看官方文档代码示例:

clipboard.png

友情提示一下:validate()函数是有两个参数的~

我也遇到过,从2.0.x版本开始,以前的model验证方式就用不了了,会报致命错误,改成新的方式来验证就OK了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题