Company.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace app\adminall\validate;
  3. use app\model\Company as ModelCompany;
  4. use app\model\Employee;
  5. use think\Validate;
  6. use toolkits\Aec;
  7. class Company extends Validate
  8. {
  9. // 验证规则
  10. protected $rule = [
  11. 'id' => 'require|number',
  12. 'company_name' => 'require|length:1,20',
  13. 'tel' => 'require|length:7,15|number',
  14. 'leader_name' => 'require',
  15. // 'phone' => 'require|mobile|checkPhone',
  16. 'phone' => 'require|mobile',
  17. 'end_date' => 'require|dateFormat:Y-m-d',
  18. 'city' => 'require',
  19. 'company_brand' => 'require|number',
  20. 'company_group' => 'require|number',
  21. 'mini' => 'require|number',
  22. ];
  23. // 错误消息
  24. protected $message = [
  25. 'phone.require' => '请输入初始账号(手机号)',
  26. 'phone.mobile' => '初始账号(手机号)格式错误',
  27. // 'phone.checkPhone' => '手机号已存在',
  28. 'company_name.require' => '请输入名称',
  29. 'company_name.length' => '名称长度不符合',
  30. 'tel.require' => '请输入电话',
  31. 'tel.length' => '电话长度7~15',
  32. 'tel.number' => '电话只能是数字',
  33. 'end_date.require' => '请选择到期时间',
  34. 'end_date.dateFormat' => '日期格式错误',
  35. 'company_brand.require' => '请选择品牌',
  36. 'company_brand.number' => '品牌选择错误',
  37. 'city.require' => '请选择所属地域',
  38. 'company_group|require' => '异常请求,缺少集团',
  39. 'company_group|number' => '异常请求,集团id只能是数字',
  40. 'leader_name.require' => '请输入店面负责人姓名',
  41. 'mini.require' => '请选择小程序',
  42. 'mini.number' => '选择的小程序不存在'
  43. ];
  44. /**
  45. * 验证场景
  46. */
  47. protected $scene = [
  48. 'addSave' => ['phone', 'company_name', 'end_date', 'tel', 'mini'],
  49. 'editSave' => ['phone', 'company_name', 'end_date', 'tel', 'id', 'mini'],
  50. 'addBrand' => ['brand_name', 'company_group', 'logo'],
  51. 'brand' => ['id'],
  52. 'editBranch' => ['id'],
  53. 'shop' => ['id'],
  54. 'addShop' => ['company_name', 'tel', 'company_brand', 'phone', 'city', 'company_group', 'leader_name', 'end_date', 'mini'],
  55. 'editShop' => ['id', 'company_name', 'tel', 'company_brand', 'city', 'leader_name', 'end_date', 'mini'],
  56. ];
  57. /**
  58. * 验证手机号是否已经存在
  59. */
  60. protected function checkPhone($value, $data)
  61. {
  62. if (isset($value['id'])) return true;
  63. $aec = new Aec(config('app.aec_key'), config('app.aec_iv'));
  64. $value = $aec->encrypt($value);
  65. $phone = Employee::where([['phone', '=', $value]])->count();
  66. return $phone == 0 ? true : '手机号已存在';
  67. }
  68. }