叶子本地使用如下环境:
Laravel:5.5,
Laravel-Admin:1.7.14
iframe-tabs:1.3.4
在更新iframe-tabs之前。使用Laravel-Admin官方文档方法是可以正常抛出的,大致如下:
$form->saving(function (Form $form) {
// 抛出异常
throw new \Exception('出错啦。。。');
});
亦或者使用如下方法:
use Illuminate\Support\MessageBag;
// 抛出错误信息
$form->saving(function ($form) {
$error = new MessageBag([
'title' => 'title...',
'message' => 'message....',
]);
return back()->with(compact('error'));
});
// 抛出成功信息
$form->saving(function ($form) {
$success = new MessageBag([
'title' => 'title...',
'message' => 'message....',
]);
return back()->with(compact('success'));
});
使用如上方法的时候,本地调试就遇到return的错误抛出完全不生效。所以,最后只能使用一个临时的方法,来进行异常抛出,并关闭当前新增弹窗:
exit("<script>var index = parent.layer.getFrameIndex(window.name);parent.layer.close(index);parent.toastr.error('$err')</script>");