fixed errors

This commit is contained in:
Edward Yang 2022-08-11 11:38:10 +08:00
parent 083c0f653d
commit aa4d8f2903
3 changed files with 23 additions and 4 deletions

View File

@ -87,16 +87,21 @@ class PluginController extends Controller
/**
* @param Request $request
* @param $code
* @return array
* @throws Exception
* @return mixed
*/
public function update(Request $request, $code)
{
app('plugin')->getPluginOrFail($code);
$fields = $request->all();
$plugin = app('plugin')->getPluginOrFail($code);
if (method_exists($plugin, 'validate')) {
$validator = $plugin->validate($fields);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput();
}
}
SettingRepo::update('plugin', $code, $fields);
return redirect($this->getRedirect())->with('success', '修改成功');
// return json_success("编辑成功");
}

View File

@ -12,6 +12,7 @@
namespace Beike\Plugin;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
use Beike\Repositories\PluginRepo;
use Beike\Repositories\SettingRepo;
@ -148,6 +149,18 @@ class Plugin implements Arrayable, \ArrayAccess
return $this->columns;
}
/**
* 字段验证
* @param $requestData
* @return \Illuminate\Contracts\Validation\Validator
*/
public function validate($requestData): \Illuminate\Contracts\Validation\Validator
{
$rules = array_column($this->columns,'rules', 'name');
return Validator::make($requestData, $rules);
}
/**
* 获取插件启动文件路径
*

View File

@ -15,6 +15,7 @@ return [
'label' => 'Sandbox Client ID',
'type' => 'string',
'required' => true,
'rules' => 'required|min:3|max:5',
'description' => '沙盒模式 Client ID',
],
[