AsideTicketStoreRequest.php 1.2 KB
<?php

namespace App\Http\Requests\Aside\WorkOrder;

use Illuminate\Foundation\Http\FormRequest;

class AsideTicketStoreRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    protected function prepareForValidation()
    {
        if ($this->has('close_wechat')) {
            $this->merge([
                // 将 "true", "1", "on", "yes" 等转换为 true,其他转换为 false
                'close_wechat' => filter_var($this->close_wechat, FILTER_VALIDATE_BOOLEAN),
            ]);
        }
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'project_id' => 'required|exists:gl_ticket_projects,uuid',
            'title' => 'required|string',
            'content' => 'required|string',
            'files' => 'nullable|array',
            'engineer_ids' => 'array',
            'star' => 'nullable|in:1,2,3|integer',
            'plan_end_at' => 'nullable|date',
            'close_wechat' => 'nullable|boolean',
        ];
    }
}