簡體   English   中英

升級 Laravel 版本后未顯示驗證消息

[英]Validation message was not showing after upgrading the laravel version

我只是將我的 Laravel 版本從 5.4 升級到 6.0。 升級后,我注意到一切正常,但沒有顯示驗證消息。 我搜索了很多,但沒有得到任何解決方案。 請smoone幫我解決這個問題。 這是我的商店控制器代碼

public function store(Request $request)
    {
        $shifts = Shift::whereTime('in_time','=', $request->in_time)
            ->whereTime('out_time','=', $request->out_time)
            ->where('branch_id',$request->branch)->pluck('name');
        $rules = [
            'name' => [
                'required',
                Rule::unique('shifts','name')->where(function ($query) use ($shifts){
                    return $query->whereIn('name', $shifts);
                }),
            ],
            'in_time' => 'required',
            'out_time' => 'required',
            'checking_time' => 'required|after_or_equal:in_time|before:out_time',
            'status' => 'required',
            'branch' => 'required',
        ];

        $this->validate($request, $rules);

        // store
        $shift = new Shift();
        $shift->name = $request->name;
        $shift->branch_id = $request->branch;
        $shift->display_name = $request->display_name;
        $shift->in_time = database_formatted_time($request->in_time);
        $shift->out_time = database_formatted_time($request->out_time);
        $shift->last_check_in_time = database_formatted_time($request->checking_time);
        $shift->status = $request->status;
        $shift->created_by = Auth::user()->id;
        if ($shift->save()) {
            if ($request->default_shift)
            {
                $d_shift = new DefaultShift();
                $d_shift->shift_id = $shift->id;
                $d_shift->save();
            }
            return ['type' => 'success', 'title' => 'Success!', 'autoDataLoad' => route('load.shift'), 'message' => 'Shift Has been created Successfully'];
        }

        return ['type' => 'error', 'title' => 'Failed!', 'message' => 'Something wents wrong'];
    }

鑒於我像這樣使用它

<span class="text-danger">{{ $errors->first('name') }}</span>

關於 Laravel Validation Docs v6.x ,我找不到任何帶有$this->validate($request, $rules); mach $this->validate($request, $rules);

而是利用

$request->validate([
                //...
                'in_time' => 'required',
                'out_time' => 'required',
                'checking_time' => 'required|after_or_equal:in_time|before:out_time',
                'status' => 'required',
                'branch' => 'required',
                //...
]);

您還可以使用@error Blade 指令快速檢查給定屬性是否存在驗證錯誤消息。

@error('name')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM