2016-06-12 15:59:28 3503次浏览 4条回答 0 悬赏 10 金钱
$user = new User();
$user->attributes = Yii::$app->request->post();
if($user->validate()){
    
}else{
    dump($user->errors);
    $this->ajaxReturn('',$user->errors,0);
}

array (size=3)
  'username' => 
    array (size=1)
      0 => string '请输入用户名!' (length=21)
  'password' => 
    array (size=1)
      0 => string '请输入密码!' (length=18)
  'vcode' => 
    array (size=1)
      0 => string '请输入验证码!' (length=21)
  • 回答于 2016-06-12 16:01 举报

    你只取其中一条来显示不就成了

    2 条回复
    回复于 2016-06-12 17:05 回复

    我还要知道具体字段,这样不行。

    回复于 2016-06-12 17:08 回复

    反正你要的字段也给验证了,有错误你就取,没有就留空.有问题?

  • 回答于 2016-06-13 09:37 举报

    获取一条错误信息,获取所有错误信息,这样来吧:

    $user = new User();
    $user->attributes = Yii::$app->request->post();
    if($user->validate()){
        //  验证成功后的操作
    }
      $error = [];
      $onlyOneError=[];
           if ($user ->hasErrors()) { // 判断是否有错误
             $onlyOneError = $user->getFirstError($attribute);  //获取一条错误信息, $attribute里填要获取错误的属性
                $tmp = $user ->getErrors();  // 获取所有错误信息
                   foreach ($tmp as $rows) {
                       foreach ($rows as $row) {
                            $error[] = $row;   // 把错误信息放入数组中
                        }
                    }
                } 
    
        var_dump($onlyOneError,$error);
    
  • 回答于 2016-06-13 12:40 举报

    current($user->getFirstErrors())

  • 回答于 2016-06-14 17:25 举报

    显示具体某一条的话:

    1,在视图里调用Html::error(attribute)获取某个验证属性的错误;
    2,$model->errors获取所有错误,并用ArrayHelper::getValue()取出对应的错误.

您需要登录后才可以回答。登录 | 立即注册
371663062
职场新人

371663062

注册时间:2015-06-09
最后登录:2016-07-11
在线时长:7小时30分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分70

热门问题