getErrors、getFirstErrors 和 getFirstError方法使用 [ 2.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不能为空。
xyf90314
注册时间:2015-03-04
最后登录:2023-03-13
在线时长:95小时23分
最后登录:2023-03-13
在线时长:95小时23分
- 粉丝21
- 金钱5257
- 威望40
- 积分6607
共 2 条评论
如果知道有错误发生,但是又不知道是哪个字段报错了,我只想获得一个错误信息,有啥好的办法没?有没有直接的操作方法没?
好像没有 要自己封装
有的,有一个getErrorSummary(false)[0]可以用,非常棒!
@刘师傅 貌似没有这个方法
@yiichina点com 既然是“貌似没有”,那就不要紧,像中国队亚洲杯可以逆转一样,期待下半场来个“实则有之”。
我觉得$model->getFirstError('cid')用处不大,甚至没用,传入key获取键值的问题在于谁知道哪个字段验证错误了?$model->getErrors()和$model->getFirstErrors()在不同场景就有用,而$model->getFirstError('cid')远不如写个方法按顺序获取第一条错误信息内容有用,如ajax弹窗提示时