CreateWithdrawalValidation.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Module\Transaction\Validations;
  3. use App\Module\Fund\Validators\CheckUserFund;
  4. use UCore\ValidationCore;
  5. use UCore\Validator\Address;
  6. use UCore\Validator\CheckPassword;
  7. use UCore\Validator\IsOnlineAddress;
  8. use UCore\Validator\IsUrausAddress;
  9. use UCore\Validator\IsUserAddress;
  10. class CreateWithdrawalValidation extends ValidationCore
  11. {
  12. /**
  13. * @param array $rules
  14. * @param $data
  15. * @return array
  16. * 创建转赠订单验证
  17. * fromUserId账户内资金,是否是网内地址,网内地址是否存在
  18. */
  19. public function rules(array $rules = [], $data = []): array
  20. {
  21. $rules = [
  22. [
  23. 'coinType,amount,userId,to_address,password', 'required'
  24. ],
  25. [
  26. // 验证fromUserId账户内资金
  27. 'userId,amount',
  28. new CheckUserFund($this),
  29. 'msg' => '用户余额不足'
  30. ],
  31. [
  32. 'to_address',
  33. new IsOnlineAddress($this),
  34. 'msg' => '地址错误'
  35. ],
  36. [
  37. 'user_id,password',
  38. new CheckPassword($this),
  39. 'msg' => '交易密码错误'
  40. ]
  41. ];
  42. return parent::rules($rules);
  43. }
  44. }