xyf90314 2018-09-04 14:59:03 8154次浏览 2条评论 4 5 0

Yii2 模型里面有这 getErrors getFirstErrors getFirstError三个方法,顾名思义,是获取错误信息的
那这三个具体有什么区别呢?
比如模型验证规则如下,字段cid times是必填的

public function rules()
    {
        return [
           [['cid', 'times'], 'required']
        ];
    }

$model->getErrors(); 返回如下:

Array
(
    [cid] => Array
        (
            [0] => Cid不能为空。
        )

    [times] => Array
        (
            [0] => Times不能为空。
        )

)

$model->getFirstErrors() 返回每个属性的第一个错误信息。返回如下:

Array
(
    [cid] => Cid不能为空。
    [times] => Times不能为空。
)

$model->getFirstError('cid');返回如下:
Cid不能为空。

觉得很赞
  • 评论于 2018-09-21 14:14 举报

    如果知道有错误发生,但是又不知道是哪个字段报错了,我只想获得一个错误信息,有啥好的办法没?有没有直接的操作方法没?

    4 条回复
    评论于 2018-09-21 17:09 回复

    好像没有 要自己封装

    评论于 2018-09-21 17:55 回复

    有的,有一个getErrorSummary(false)[0]可以用,非常棒!

    评论于 2019-01-21 17:29 回复

    貌似没有这个方法

    评论于 2019-01-22 09:57 回复

    既然是“貌似没有”,那就不要紧,像中国队亚洲杯可以逆转一样,期待下半场来个“实则有之”。

    , 觉得很赞
  • 评论于 2018-09-29 16:22 举报

    我觉得$model->getFirstError('cid')用处不大,甚至没用,传入key获取键值的问题在于谁知道哪个字段验证错误了?$model->getErrors()和$model->getFirstErrors()在不同场景就有用,而$model->getFirstError('cid')远不如写个方法按顺序获取第一条错误信息内容有用,如ajax弹窗提示时

您需要登录后才可以评论。登录 | 立即注册