DeliveryBatchImport.php 1.3 KB

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