Laravel 8 关于可选字段的注意事项
默认情况下, 在您的 Laravel 应用的全局中间件堆栈 App\Http\Kernel
类中包含了 TrimStrings
和 ConvertEmptyStringsToNull
中间件。因此,如果您不想让 null
被验证器标识为非法的话,您需要将「可选」字段标志为 nullable
:
$request->validate([
'title' => 'required|unique:posts|max:255',
'body' => 'required',
'publish_at' => 'nullable|date',
]);
在上述例子中,我们指定了 publish_at
字段可以是空的或者是一个有效的日期格式。如果 nullable
修饰词没有被添加到规则定义中,验证器会将 null
视为无效的日期格式。