ApproveContract.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\common\validate;
  3. use think\Validate;
  4. /**
  5. * 合同呈批信息验证
  6. */
  7. class ApproveContract extends Validate
  8. {
  9. /**
  10. * 验证规则
  11. */
  12. protected $rule = [
  13. 'type' => 'require|gt:0',
  14. 'reason' => 'require',
  15. 'desc' => 'require',
  16. 'number' => 'require|gt:0',
  17. 'scope' => 'require',
  18. 'legal_opinion' => 'require',
  19. 'approve_user' => 'require',
  20. ];
  21. /**
  22. * 提示消息
  23. */
  24. protected $message = [
  25. ];
  26. /**
  27. * 验证场景
  28. */
  29. protected $scene = [
  30. 'create' => ['type', 'reason', 'desc', 'number', 'scope', 'legal_opinion', 'approve_user'],
  31. 'update' => ['type', 'reason', 'desc', 'number', 'scope', 'legal_opinion', 'approve_user'],
  32. 'edit' => ['type', 'reason', 'desc', 'number', 'scope', 'legal_opinion'],
  33. ];
  34. /**
  35. * 构造函数
  36. * @access public
  37. * @param array $rules 验证规则
  38. * @param array $message 验证提示信息
  39. * @param array $field 验证字段描述信息
  40. */
  41. public function __construct(array $rules = [], $message = [], $field = [])
  42. {
  43. $this->field = [
  44. 'type' => '合同类型',
  45. 'reason' => '合同编号',
  46. 'desc' => '缓急程度',
  47. 'number' => '印制份数',
  48. 'scope' => '发放范围',
  49. 'legal_opinion' => '法务意见',
  50. ];
  51. $this->message = array_merge($this->message, [
  52. 'type.gt' => '请选择正确的合同类型',
  53. ]);
  54. parent::__construct($rules, $message, $field);
  55. }
  56. protected function check_start_time($value, $rule, $data)
  57. {
  58. if ($value <= date('Y-m-d H:i')) {
  59. return false;
  60. }
  61. return true;
  62. }
  63. protected function check_end_time($value, $rule, $data)
  64. {
  65. if ($data['start_time'] >= $value) {
  66. return false;
  67. }
  68. return true;
  69. }
  70. }