xyf90314 2018-09-04 14:59:03 968次浏览 2条评论 0 3 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

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

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

    好像没有 要自己封装

    评论于 2018-09-21 17:55

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

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

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

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