DeliveryBatchImportValidate.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace app\shop\validate\order;
  3. use app\common\basics\Validate;
  4. class DeliveryBatchImportValidate extends Validate
  5. {
  6. protected $rule = [
  7. 'lists' => [ 'require', 'checkLists' ],
  8. ];
  9. protected $message = [
  10. 'lists.require' => '上传文件不能为空',
  11. ];
  12. function checkLists($lists, $rule, $data)
  13. {
  14. $nums = count($lists) - 1;
  15. if ($nums < 1) {
  16. return '导入的文件发货信息为空';
  17. }
  18. if ($nums > 2000) {
  19. return '单次最多导入2000条发货信息';
  20. }
  21. foreach ($lists as $key => $info) {
  22. if (empty(trim($info['A'])) || empty(trim($info['B'])) || empty(trim($info['C']))) {
  23. return '发货信息:第' . ($key + 2) . '行存在未填写的发货信息';
  24. }
  25. if (mb_strlen($info['A']) > 255) {
  26. return '发货信息:第' . ($key + 2) . '行发货信息 订单号 超过长度255';
  27. }
  28. if (mb_strlen($info['B']) > 255) {
  29. return '发货信息:第' . ($key + 2) . '行发货信息超过长度255';
  30. }
  31. if (mb_strlen($info['C']) > 255) {
  32. return '发货信息:第' . ($key + 2) . '行发货信息超过长度255';
  33. }
  34. }
  35. return true;
  36. }
  37. }