2017-08-08 129 views
1

我已經將Laravel從5.3升級到5.4版本,但是,如果我在提交表單時在文本輸入中有空值,我現在有一個NULL價值而不是空的價格,而這在5.3版本中並未發生。從Laravel 5.3升級到Laravel 5.4並將空字段轉換爲NULL

我現在已經強制設置一個可爲空或需要的驗證規則,我該如何解決這個問題?

+0

請閱讀[我可以詢問什麼主題](http://stackoverflow.com/help/on-topic)和[需要避免什麼主題](https://stackoverflow.com/help/dont - 問題)和[如何問一個好問題](http://stackoverflow.com/help/how-to-ask)以及如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)以及[take the tour](http://stackoverflow.com/tour) –

回答

0

在Laravel 5.4中,有一箇中間件TrimStrings,它修剪所有空值。

您可以從app/Http/Kernel.php禁用它。

只需從中間件陣列中刪除\App\Http\Middleware\TrimStrings::class,即可。

1

在Laravel 5.4中,包含TrimStringsConvertEmptyStringsToNull兩個新的中間件。

實際上,對於每個表單請求,Laravel都會自動修剪任何空白區域,同時將所有空請求字段轉換爲空。

如果你想禁用這些,然後簡單地在你的app/Http/Kernel.php評論。

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, 
    // \App\Http\Middleware\TrimStrings::class, 
    // \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, 
];