作者 邓超

x

... ... @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Requests\Bside\Nav\NavRequest;
use App\Models\BNav;
/**
... ... @@ -16,42 +17,6 @@ use App\Models\BNav;
class NavController extends BaseController
{
/**
* 验证规则
* @var array[]
*/
private $verify = [
'role' => [
'pid' => ['required','integer','gte:0'],
'name' => ['required','max:100'],
'location' => ['required','in:header,footer'],
'url' => ['required','max:200'],
'status' => ['required','in:0,1'],
'target' => ['required','in:0,1'],
'sort' => ['required','integer','gte:0']
],
'message' => [
'pid.required' => '上级选择错误',
'pid.gte' => '上级选择错误',
'pid.integer' => '上级选择错误',
'name.required' => '名称必须',
'name.max' => '名称不能超过100个字符',
'location.required' => '位置选择错误',
'location.in' => '位置选择错误',
'url.required' => '链接必须',
'url.max' => '链接不能超过200个字符',
'status.required' => '状态选择错误',
'status.in' => '状态必须是显示/隐藏',
'target.required' => '打开方式必须',
'target.in' => '打开方式选择错误',
'sort.required' => '排序必须',
'sort.integer' => '排序必须是一个数字',
'sort.gte' => '排序必须大于等于0',
],
'attr' => [
]
];
/**
* 列表数据
... ... @@ -83,8 +48,8 @@ class NavController extends BaseController
* @author:dc
* @time 2023/5/8 16:39
*/
public function create(){
return $this->save();
public function create(NavRequest $request){
return $this->save($request);
}
... ... @@ -97,10 +62,8 @@ class NavController extends BaseController
* @author:dc
* @time 2023/5/8 17:06
*/
public function update(){
$this->verify['role']['id'] = ['required','integer','gt:0'];
$this->verify['message']['id.gt'] = $this->verify['message']['id.integer'] = $this->verify['message']['id.required'] = '编辑导航数据不存在';
return $this->save();
public function update(NavRequest $request){
return $this->save($request);
}
/**
... ... @@ -112,8 +75,8 @@ class NavController extends BaseController
* @author:dc
* @time 2023/5/8 17:06
*/
private function save(){
$data = $this->validate(request() ,$this->verify['role'],$this->verify['message']);
private function save($request){
$data = $request->validated();
if($data['pid']){
// 验证是否存在上级
... ... @@ -148,8 +111,11 @@ class NavController extends BaseController
* @author:dc
* @time 2023/5/9 9:20
*/
public function delete(){
$id = $this->param['id']??0;
public function delete(NavRequest $request){
$id = $request->validated()['id'];
$data = BNav::_find($this->user['project_id'],$id);
if(empty($data)){
... ...
... ... @@ -2,7 +2,6 @@
namespace App\Http\Requests\Bside\Nav;
use App\Http\Requests\Scene;
use Illuminate\Foundation\Http\FormRequest;
/**
... ... @@ -14,7 +13,6 @@ use Illuminate\Foundation\Http\FormRequest;
*/
class NavRequest extends FormRequest
{
use Scene;
/**
* Determine if the user is authorized to make this request.
... ... @@ -44,12 +42,12 @@ class NavRequest extends FormRequest
];
// 修改
if($this->isScene(static::$UPDATE)){
if($this->is('b/nav/update')){
$rule['id'] = ['required','integer'];
}
// 删除
if($this->isScene(static::$DELETE)){
if($this->is('b/nav/delete')){
$rule = ['id' => ['required','integer']];
}
... ... @@ -59,8 +57,8 @@ class NavRequest extends FormRequest
public function messages()
{
return [
'id.required' => '编辑导航数据不存在',
'id.integer' => '编辑导航数据不存在',
'id.required' => '数据不存在',
'id.integer' => '数据不存在',
'pid.required' => '上级选择错误',
'pid.gte' => '上级选择错误',
'pid.integer' => '上级选择错误',
... ...