<?php
/**
 *
 * @file:WechatMenuRequest.php
 * @Date: 2023/7/11
 * @Time: 10:49
 */


namespace Modules\WechatPlatform\Http\Requests;


use Illuminate\Foundation\Http\FormRequest;
use Modules\WechatPlatform\Services\WechatMenuService;

class WechatMenuRequest extends FormRequest
{

    /**
     * rules
     *
     * @return array
     */
    public function rules(): array
    {
        return [
            'title' => "required",
            'type' => [
                "required",
                function ($attribute, $value, $fail) {
                    $types = array_column(WechatMenuService::getWechatMenuSystemType(), 'value');
                    if (!in_array($value, $types)) {
                        $fail("关键词类型不正确!");
                    }
                }
            ],
            'miniprogram_id' => [
                'required',
                'Integer',
                "gt:0",
            ],
            "content" => "required|array",
        ];
    }


    /**
     * messages
     *
     * @return string[]
     */
    public function messages(): array
    {
        return [
            'title.required' => '菜单名称必须填写',
            'type.required' => '系统类型必须填写',
            "miniprogram_id.required" => "小程序必须填写",
            "content.required" => "菜单必须填写",
            "content.array" => "菜单格式不正确",
        ];
    }
}