Explorar el Código

修复FertilizerHandler验证方法调用

- 修复验证方法调用,使用validated()而不是validate()
- validated()方法会在验证失败时抛出异常,这是正确的使用方式
- 根据Validation使用示例文档的指导进行修复
- 现在验证逻辑应该能正确工作
notfff hace 7 meses
padre
commit
e0cc66f372
Se han modificado 1 ficheros con 8 adiciones y 12 borrados
  1. 8 12
      app/Module/AppGame/Handler/Land/FertilizerHandler.php

+ 8 - 12
app/Module/AppGame/Handler/Land/FertilizerHandler.php

@@ -52,30 +52,26 @@ class FertilizerHandler extends BaseHandler
             'item_id' => $itemId,
         ]);
 
-        $validation = new FertilizerValidation();
         $validationData = [
             'user_id' => $userId,
             'land_id' => $landId,
             'item_id' => $itemId,
         ];
 
-        Log::info('FertilizerHandler: 调用validation->validate()');
-        $validationResult = $validation->validate($validationData);
-        Log::info('FertilizerHandler: 验证结果', [
-            'result' => $validationResult,
-            'errors' => $validation->getErrors()
-        ]);
+        $validation = new FertilizerValidation($validationData);
 
-        if (!$validationResult) {
-            $errors = $validation->getErrors();
-            $errorMessage = implode(', ', $errors);
+        Log::info('FertilizerHandler: 调用validation->validated()');
+        try {
+            $validation->validated();  // 这个方法会在验证失败时抛出异常
+            Log::info('FertilizerHandler: 验证通过');
+        } catch (\UCore\Exception\ValidateException $e) {
             Log::warning('施肥验证失败', [
                 'user_id' => $userId,
                 'land_id' => $landId,
                 'item_id' => $itemId,
-                'errors' => $errors,
+                'error' => $e->getMessage(),
             ]);
-            throw new LogicException($errorMessage);
+            throw new LogicException($e->getMessage());
         }
 
         try {