Laravel 5.4有时验证规则不起作用

Laravel 5.4有时验证规则不起作用,laravel,laravel-validation,laravel-5.4,Laravel,Laravel Validation,Laravel 5.4,我正在尝试验证日期字段是否存在。在我从Laravel 5.2升级到5.4之前,它运行良好 在Laravel 5.2中,该规则适用于: public function rules() { return [ 'available_from' => 'date', ]; } 在5.4中,它返回验证错误可用起始日期不是有效日期。我尝试了这个新规则 public function rules() { return [ 'available_

我正在尝试验证日期字段是否存在。在我从Laravel 5.2升级到5.4之前,它运行良好

在Laravel 5.2中,该规则适用于:

public function rules()
{
    return [
        'available_from' => 'date',
    ];

}
在5.4中,它返回验证错误
可用起始日期不是有效日期。
我尝试了这个新规则

public function rules()
{
    return [
        'available_from' => 'sometimes|date',
    ];

}
仍然出现相同的错误,并且似乎
规则有时根本不影响验证。我怎样才能消除这个错误


我不明白为什么拉威尔改变了一些以前有用的东西

出现此问题的原因是Http\Kernel.php中的\illumb\Foundation\Http\Middleware\ConvertEmptyStringsToull::类

提交空日期字段时,此中间件将空字符串转换为null。然后验证返回无效的日期错误。您可以查看更多详细信息

它可以用可为空的

public function rules()
{
    return [
        'available_from' => 'sometimes|nullable|date',
    ];

}
发件人:

可空

验证中的字段可能为空。这尤其有用 验证基本体(如字符串和整数)时,可以 包含空值


您使用的日期格式是什么?我使用这种格式
YYYY-MM-DD
非常好的帮助。在Laravel 5.6中也能完美工作。我得到了同样的“不是有效日期”,我总是通过邮局发送“2018-03-05”之类的日期。你真的救了我一天。