Train.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace app\sys\validate;
  3. use think\Validate;
  4. class Train extends Validate
  5. {
  6. // 验证规则
  7. protected $rule = [
  8. 'title' => 'require|max:80',
  9. 'type_id' => 'require',
  10. 'type' => 'in:video,image,audio,pdf',
  11. 'content' => 'require|max:800',
  12. 'des' => 'require|max:800',
  13. 'sumup_num' => 'require|number|gt:0',
  14. 'score_one' => 'gt:0|number',
  15. 'score_two' => 'gt:score_one|number',
  16. 'score_three' => 'gt:score_two|number',
  17. 'study_time' => 'requireCallback:time_check',
  18. 'comment_word_num' => 'requireCallback:word_check'
  19. ];
  20. // 错误消息
  21. protected $message = [
  22. 'title.require' => '请输入课件名称',
  23. 'title.max' => '课件名称最长80字符',
  24. 'type_id.require' => '请选择课件场景',
  25. 'type.in' => '未获取到课件类型',
  26. 'content.require' => '请输入内容',
  27. 'content.max' => '内容最长800字符',
  28. 'des.require' => '请输入简介',
  29. 'des.max' => '简介长800字符',
  30. 'sumup_num.require' => '请设置课程感悟字数',
  31. 'sumup_num.number' => '感悟字数格式为数字',
  32. 'sumup_num.gt' => '感悟字数不低于1个字',
  33. 'score_one.number' => '触发关键词格式为数字',
  34. 'score_one.gt' => '评审为“S”关键词个数不低于1个',
  35. 'score_two.number' => '触发关键词格式为数字',
  36. 'score_two.gt' => '评审为“SS”关键词个数高于“S”',
  37. 'score_three.number' => '触发关键词格式为数字',
  38. 'score_three.gt' => '评审为“SSS”关键词个数高于“SS”',
  39. 'study_time.requireCallback' => '请设置学习时常',
  40. 'comment_word_num.requireCallback' => '请设置完成评论字数',
  41. ];
  42. /**
  43. * 验证场景
  44. */
  45. protected $scene = [
  46. 'courseAddSave' => ['title','type_id','type','study_time','comment_word_num'],
  47. 'courseEditSave' => ['title','type_id','type','study_time','comment_word_num'],
  48. 'classAddSave' => ['title','score_one','score_two','score_three'],
  49. 'classEditSave' => ['title','score_one','score_two','score_three']
  50. ];
  51. /*
  52. * 检测学习时常
  53. */
  54. function time_check($value , $data)
  55. {
  56. if($data['time_check'] == 1){
  57. return true;
  58. }
  59. return false;
  60. }
  61. /*
  62. * 检测评论字数
  63. */
  64. function word_check($value , $data)
  65. {
  66. if($data['word_check'] == 1){
  67. return true;
  68. }
  69. return false;
  70. }
  71. }