HouseUpgradeValidation.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Module\Farm\Validations;
  3. use App\Module\Farm\Validators\HouseUpgradeValidator;
  4. use UCore\ValidationCore;
  5. /**
  6. * 房屋升级验证类
  7. *
  8. * 用于验证房屋升级操作的输入数据,包括用户ID
  9. */
  10. class HouseUpgradeValidation extends ValidationCore
  11. {
  12. /** @var \App\Module\Farm\Models\FarmHouseConfig|null 房屋配置对象,由 HouseUpgradeValidator 设置 */
  13. public ?\App\Module\Farm\Models\FarmHouseConfig $house_config = null;
  14. /**
  15. * 验证规则
  16. *
  17. * @param array $rules 自定义规则
  18. * @return array
  19. */
  20. public function rules($rules = []): array
  21. {
  22. return [
  23. [
  24. 'user_id', 'required'
  25. ],
  26. [
  27. 'user_id', 'integer', 'min' => 1,
  28. 'msg' => '{attr}必须是大于0的整数'
  29. ],
  30. // 验证房屋升级条件
  31. [
  32. 'user_id', new HouseUpgradeValidator($this, ['house_config']),
  33. 'msg' => '房屋升级验证失败'
  34. ]
  35. ];
  36. }
  37. /**
  38. * 设置默认值
  39. *
  40. * @return array
  41. */
  42. public function default(): array
  43. {
  44. return [];
  45. }
  46. }