久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Laravel 5.1 在表單請求驗證前修改輸入

Laravel 5.1 Modify input before form request validation(Laravel 5.1 在表單請求驗證前修改輸入)
本文介紹了Laravel 5.1 在表單請求驗證前修改輸入的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

有沒有辦法在驗證發生之前修改表單請求類中的輸入字段?

Is there a way to modify input fields inside a form request class before the validation takes place?

我想如下修改一些輸入日期字段,但它似乎不起作用.

I want to modify some input date fields as follows but it doesn't seem to work.

當我將 $this->start_dt 輸入字段設置為 2016-02-06 12:00:00$this->end_dt2016-02-06 13:00:00 我仍然收到驗證錯誤end_dt 必須在 start_dt 之后".這意味著當您更新 rules()<中的 $this->start_dt$this->end_dt 時,輸入請求值不會改變/code> 函數.

When I set $this->start_dt input field to 2016-02-06 12:00:00 and $this->end_dt to 2016-02-06 13:00:00 I still get validation error "end_dt must be after start_dt". Which means the input request values aren't getting changed when you update $this->start_dt and $this->end_dt inside the rules() function.

public function rules()
{
    if ($this->start_dt){
        $this->start_dt = Carbon::createFromFormat('d M Y H:i:s', $this->start_dt . ' ' . $this->start_hr . ':'. $this->start_min . ':00');
    }

    if ($this->end_dt){
        $this->end_dt = Carbon::createFromFormat('d M Y H:i:s', $this->end_dt . ' ' . $this->end_hr . ':'. $this->end_min . ':00');
    }

    return [
        'start_dt' => 'required|date|after:yesterday',
        'end_dt' => 'required|date|after:start_dt|before:' . Carbon::parse($this->start_dt)->addDays(30)            
    ];
}

注意: start_dtend_dt 是日期選擇器字段,start_hrstart_min 是下拉字段.因此,我需要通過組合所有字段來創建一個日期時間,以便我可以進行比較.

Note: start_dt and end_dt are date picker fields and the start_hr, start_min are drop down fields. Hence I need to create a datetime by combining all the fields so that I can compare.

推薦答案

從 Laravel 5.4 開始,您可以覆蓋 ValidatesWhenResolvedTraitprepareForValidation 方法來修改任何輸入.Laravel 5.1 應該可以實現類似的功能.

As of laravel 5.4 you can override the prepareForValidation method of the ValidatesWhenResolvedTrait to modify any input. Something similar should be possible for laravel 5.1.

請求中的示例

/**
 * Modify the input values
 *
 * @return void
 */
protected function prepareForValidation() {

    // get the input
    $input = array_map('trim', $this->all());

    // check newsletter
    if (!isset($input['newsletter'])) {
        $input['newsletter'] = false;
    }

    // replace old input with new input
    $this->replace($input);
}

這篇關于Laravel 5.1 在表單請求驗證前修改輸入的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

add new element in laravel collection object(在 Laravel 集合對象中添加新元素)
Creating an edit modal in Laravel 5(在 Laravel 5 中創建編輯模式)
Laravel 5.5 API resources for collections (standalone data)(用于集合的 Laravel 5.5 API 資源(獨立數據))
What is the best practice to create a custom helper function in php Laravel 5?(在 php Laravel 5 中創建自定義輔助函數的最佳實踐是什么?)
No #39;Access-Control-Allow-Origin#39; header - Laravel(沒有“Access-Control-Allow-Origin標頭 - Laravel)
Laravel Passport Route redirects to login page(Laravel Passport Route 重定向到登錄頁面)
主站蜘蛛池模板: 久久久国产一区二区三区 | 日韩区 | 成年免费大片黄在线观看一级 | 国产成人精品综合 | 在线免费观看成人 | 欧美11一13sex性hd | 日韩精品在线看 | 丝袜 亚洲 欧美 日韩 综合 | 日韩欧美三区 | 国产国产精品 | 天天摸天天干 | 在线看片国产 | 爱爱视频在线观看 | 电影午夜精品一区二区三区 | 国产在线精品一区二区 | 18成人在线观看 | 国产成人免费视频网站视频社区 | 日本一本视频 | 亚洲成av人片在线观看无码 | 啪一啪在线视频 | 日韩精品成人一区二区三区视频 | 久久噜噜噜精品国产亚洲综合 | 亚洲美女一区二区三区 | 精品96久久久久久中文字幕无 | 精品国产一区二区三区免费 | 亚洲精品乱码久久久久久黑人 | 国产高清自拍视频在线观看 | 欧美区日韩区 | 日韩国产欧美一区 | 成人18亚洲xxoo | 国产精品国产成人国产三级 | 日韩乱码av | 欧美精品一区在线发布 | 久久精品99 | 国产精品一区网站 | 欧美色专区 | 欧美日韩一区二区三区视频 | av中文字幕在线 | 四虎影视在线 | av免费网址| 国产精品久久久久久久久久久免费看 |