阅读(4273) (10)

Laravel 8 关于可选字段的注意事项

2021-06-25 11:18:21 更新

默认情况下, 在您的 Laravel 应用的全局中间件堆栈 App\Http\Kernel 类中包含了 TrimStringsConvertEmptyStringsToNull 中间件。因此,如果您不想让 null 被验证器标识为非法的话,您需要将「可选」字段标志为 nullable

$request->validate([
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
    'publish_at' => 'nullable|date',
]); 

在上述例子中,我们指定了 publish_at 字段可以是空的或者是一个有效的日期格式。如果 nullable 修饰词没有被添加到规则定义中,验证器会将 null 视为无效的日期格式。