在模态yii2中显示异常和chttpexceptions

问题描述 投票:1回答:1

嘿家伙我正在制作一个网站,我需要显示一个错误(异常或chttpexception),当这发生在一个模态。

实际上模态显示为空,但控制台显示错误。

我怎么能解决这个问题?

谢谢。

这就是现在发生的事情:https://i.stack.imgur.com/UV61O.png

我需要这个:https://i.stack.imgur.com/hPfKi.png

我的控制器动作:

public function actionMomios($id)
{
    $this->findModel(1000); //this number is for the error its an ID
}

这是抛出错误的函数:

protected function findModel($id)
{
    if (($model = Partido::findOne($id)) !== null) {
        return $model;
    }

    throw new NotFoundHttpException('El partido no se encuentra registrado'); // This is the exception i need to show

}

这是调用模态的代码(在gridview中):

 'momios' => function($url,$model,$key){
        $btn = Html::button("<span class='glyphicon glyphicon-usd'></span>",[
            'value'=>Yii::$app->urlManager->createUrl('partido/momios?id='.$key),
            'class'=>'momioedit grid-action btn btn-success',
            'title'=>'Modificar momios'
        ]);
        return $btn;

        },

我在视图中的模态:

<?php

Modal::begin([
        'header' => '<h4>Editar Momio</h4>',
        'id'     => 'modalmomio',
        'size'   => 'modal-lg',

]);

echo "<div id='momiocontent'></div>";

Modal::end();

?>

我的JS:

$('.momioedit').click(function(){
     $('#modalmomio').modal('show')
        .find('#momiocontent')
         .load($(this).attr('value'));

});
exception yii2 modal-dialog
1个回答
0
投票

你只需要将你的代码包装在try{}catch(){}中的actionMomios($id)块内,该块调用findModel()方法,如下所示。

public function actionMomios($id)
{
    try{
        $this->findModel(1000); //this number is for the error its an ID
    }catch(\Exception $e){
        return $e->getMessage();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.