VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • FastAdmin的API接口生成器插件,使用validate验证时报错等问题。

1、当使用生成接口 生成全局模型时, 生成的validate文件的namespace错误

应为 

namespace app\common\validate;
实际为
namespace app\api\validate;

解决方法:
1、找到 
application/admin/library/buiapi/stubs/validate.stub 文件
命名空间修改为
namespace app\{%module_name%}\validate;
application/admin/library/buiapi/BuiApiTemp.php 文件
通过 54行左右
if (empty($key) && strpos($temp, "local=0") !== false) {
    self::$data['model_path'] = 'common';
}
判断是否启用了全局模型
在215行左右
//替换模版内容
self::$data['module_name'] = 'api';
if (self::$data['model_path'] == 'common'){
    self::$data['module_name'] = 'common';
}
foreach (self::$data as $key_data => $val_data) {
    $index = str_replace("{%" . $key_data . "%}", $val_data, $index);
    $model = str_replace("{%" . $key_data . "%}", $val_data, $model);
    $validate = str_replace("{%" . $key_data . "%}", $val_data, $validate);
    if ($key_data != 'controller_index') {
        $controller = str_replace("{%" . $key_data . "%}", $val_data, $controller);
    }
}
红色为加入的代码

结果:
生成的validate文件就在api或者common(在生成api接口时勾选了 - 全局模型类)命名空间下了。


2、在application/admin/library/buiapi/BuiApiTemp.php 文件的84行左右
$controller_path_msg 和 $validate_path_msg 反了,换一下位置即可。

出处:https://www.cnblogs.com/arvin-an/p/17213377.html



相关教程