fix: nullable|integer — system controllers accept null/empty for optional integer fields

This commit is contained in:
li
2026-03-14 17:46:18 +08:00
parent 5cc8df4d68
commit 7d2b906e77
5 changed files with 16 additions and 16 deletions
@@ -22,9 +22,9 @@ class DepartmentController extends Controller
public function store(Request $request): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'required|string|max:50',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -36,9 +36,9 @@ class DepartmentController extends Controller
public function update(Request $request, Department $department): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'string|max:50',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -44,7 +44,7 @@ class DictionaryController extends Controller
$data = $request->validate([
'label' => 'required|string|max:100',
'value' => 'required|string|max:100',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -61,7 +61,7 @@ class DictionaryController extends Controller
$data = $request->validate([
'label' => 'string|max:100',
'value' => 'string|max:100',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -20,7 +20,7 @@ class MenuController extends Controller
public function store(Request $request): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'required|string|max:50',
'path' => 'nullable|string|max:255',
'component' => 'nullable|string|max:255',
@@ -28,7 +28,7 @@ class MenuController extends Controller
'permission_code' => 'nullable|string|max:100',
'type' => 'required|in:1,2,3',
'visible' => 'in:0,1',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -39,7 +39,7 @@ class MenuController extends Controller
public function update(Request $request, Menu $menu): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'string|max:50',
'path' => 'nullable|string|max:255',
'component' => 'nullable|string|max:255',
@@ -47,7 +47,7 @@ class MenuController extends Controller
'permission_code' => 'nullable|string|max:100',
'type' => 'in:1,2,3',
'visible' => 'in:0,1',
'sort' => 'integer',
'sort' => 'nullable|integer',
'status' => 'in:0,1',
]);
@@ -20,13 +20,13 @@ class PermissionController extends Controller
public function store(Request $request): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'required|string|max:50',
'code' => 'required|string|max:100|unique:permissions,code',
'module' => 'nullable|string|max:50',
'type' => 'required|in:1,2,3',
'description' => 'nullable|string|max:255',
'sort' => 'integer',
'sort' => 'nullable|integer',
]);
$permission = Permission::create($data);
@@ -36,13 +36,13 @@ class PermissionController extends Controller
public function update(Request $request, Permission $permission): JsonResponse
{
$data = $request->validate([
'parent_id' => 'integer',
'parent_id' => 'nullable|integer',
'name' => 'string|max:50',
'code' => 'string|max:100|unique:permissions,code,' . $permission->id,
'module' => 'nullable|string|max:50',
'type' => 'in:1,2,3',
'description' => 'nullable|string|max:255',
'sort' => 'integer',
'sort' => 'nullable|integer',
]);
$permission->update($data);
@@ -21,7 +21,7 @@ class PositionController extends Controller
{
$data = $request->validate([
'name' => 'required|string|max:50',
'sort' => 'integer',
'sort' => 'nullable|integer',
]);
$data['store_id'] = auth()->user()->store_id;
@@ -33,7 +33,7 @@ class PositionController extends Controller
{
$data = $request->validate([
'name' => 'string|max:50',
'sort' => 'integer',
'sort' => 'nullable|integer',
]);
$position->update($data);