yii2 model getErrors获取错误的方法整理
model获取错误的方法
public static function getModelError($model) {
$errors = $model->getErrors(); //得到所有的错误信息
if(!is_array($errors)) return '';
$firstError = array_shift($errors);
if(!is_array($firstError)) return '';
return array_shift($firstError);
}
getErrors():
返回所有属性或单个属性的错误,即返回所有验证中发生的错误。
$model = new User();
$model->name = $name;
$model->nick_name = $nick_name;
$model->phone = $phone;
$model->sex = $sex;
$model->isNewRecord = true; //此语句可省略
if(!$model->save()){
//保存不成功
throw new \RuntimeException('保存败.'.$model::getModelError($model));
}
getErrors()
Array
(
[cid] => Array
(
[0] => Cid不能为空=> Array
(
[0] => Times不能为空
$model->getFirstErrors()
返回每个属性的第一个错误信息。返回如下:
Array
(
[cid] => Cid不能为空=> Times不能为空
$model->getFirstError(‘cid’);返回如下:
Cid不能为空。