WechatKeywordsRequest.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. *
  4. * @file:WechatKeywordsRequest.php
  5. * @Date: 2023/7/5
  6. * @Time: 15:11
  7. */
  8. namespace Modules\WechatPlatform\Http\Requests;
  9. use Illuminate\Foundation\Http\FormRequest;
  10. use Illuminate\Support\Facades\DB;
  11. use Modules\User\Http\Controllers\UserTrait;
  12. use Modules\WechatPlatform\Services\WechatKeywordsService;
  13. class WechatKeywordsRequest extends FormRequest
  14. {
  15. use UserTrait;
  16. /**
  17. * rules
  18. *
  19. * @return array
  20. */
  21. public function rules(): array
  22. {
  23. return [
  24. 'keyword' => "required",
  25. 'type' => [
  26. "required",
  27. function ($attribute, $value, $fail) {
  28. $types = array_column(WechatKeywordsService::getWechatKeywordType(), 'value');
  29. if (!in_array($value, $types)) {
  30. $fail("关键词类型不正确!");
  31. exit();
  32. }
  33. }
  34. ],
  35. 'miniprogram_id' => [
  36. 'required_if:type,miniprogram',
  37. 'Integer',
  38. "gt:0",
  39. ],
  40. "content" => "required|array",
  41. ];
  42. }
  43. /**
  44. * messages
  45. *
  46. * @return string[]
  47. */
  48. public function messages(): array
  49. {
  50. return [
  51. 'type.required' => '关键词类型必须填写',
  52. 'keyword.required' => '关键词必须填写',
  53. "miniprogram_id.required_if" => "小程序必须填写",
  54. "content.required" => "内容必须填写",
  55. "content.array" => "内容格式不正确",
  56. ];
  57. }
  58. }