MenuRequest.php 1.4 KB
<?php

namespace App\Http\Requests\Aside;

use App\Models\Menu;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;

/**
 * Class MenuRequest
 * @package App\Http\Requests\Bside\product
 * @author zbj
 * @date 2023/4/19
 */
class MenuRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title' => ['required', 'max:32'],
            'icon' => ['max:32'],
            'route_name' => ['max:32'],
            'type' => ['required', Rule::in(array_keys(Menu::typeMap()))],
            'status' => ['required', Rule::in(array_keys(Menu::statusMap()))],
        ];
    }

    public function messages()
    {
        return [
            'title.required' => '请输入菜单名称',
            'title.max' => '菜单名称长度不超过32个字符',
            'pid.exists' => '父菜单不存在',
            'icon.max' => '图标长度不超过32个字符',
            'route_name.max' => '路由长度不超过32个字符',
            'type.required' => '请选择类型',
            'type.in' => '类型值无效',
            'status.required' => '请选择状态',
            'status.in' => '状态值无效',
        ];
    }

}