Laravel 5.2验证:date_format:Ymd不工作

mht*_*mht 5 php validation laravel-5

我尝试验证POST请求.

格式为:d.m.Y(12.1.2017)我的规则required|date_format:d.m.Y适用于此字段.

我收到此错误消息:

InvalidArgumentException in Carbon.php line 425:
Unexpected data found.
Unexpected data found.
Data missing
Run Code Online (Sandbox Code Playgroud)

如果我更改.-或甚至/它正在工作 - > POST数据更改之前匹配规则.

我需要德语格式.

编辑:我的验证规则:

public function rules()
{
    return  [
        'title' => 'required|max:255',
        'expiration_date' => 'required|date_format:d.m.Y',
        //'description' => 'required',
        'provision_agent' => 'required|integer|between:0,100',
        'discount_consumer' => 'required|integer|between:0,100',
        'quota' => 'required|integer',
    ];
}
Run Code Online (Sandbox Code Playgroud)

vij*_*mar 5

包装你的格式应该可以工作,我刚刚尝试过 5.2,它工作正常。

public function rules()
{
    return  [
        'title' => 'required|max:255',
        'expiration_date' => 'required|date_format:"d.m.Y"',
        //'description' => 'required',
        'provision_agent' => 'required|integer|between:0,100',
        'discount_consumer' => 'required|integer|between:0,100',
        'quota' => 'required|integer',
    ];
}
Run Code Online (Sandbox Code Playgroud)

但是您在 Carbon.php 第 425 行中的 InvalidArgumentException问题中添加的错误 :我猜您在像这样的Carbon控制器或模型中的某个位置使用了点过期日期

 echo Carbon::createFromFormat('Y-m-d', '12.1.2017');
Run Code Online (Sandbox Code Playgroud)

你应该尝试这样的事情

echo Carbon::parse('12.1.2017')->format('Y-m-d')
Run Code Online (Sandbox Code Playgroud)