在 Laravel 验证中用法语格式化日期

Format date in French within a Laravel validation

在我的控制器中,我想为 2000 年之前的日期创建一个验证。

'dateofbirth' => 'required|date|after:1960|before:2000-01-01'

我的验证有效;但是,我想将格式 2000-01-01 更改为 01-01-2000.

在文件validation.php,中我想要一个类似下面的消息。

The dateofbirth must be a date before 01-01-2002.

如何转换这个日期?

编辑 2019 年 2 月 7 日

这是我的控制器。这是正确的吗 ?

public function store(Request $request)
{
    $request->validate([
       'dateofbirth' => 'required|date|after:1960|before:2000-01-01'   
    ]);

     Student::create($request->all());
     return redirect()->route('students.index')
           ->with('success', 'new data created successfully');
}

public function messages()
{
    return [
     'dateofbirth.required' => "REQUIRED",
     'dateofbirth.date_format' => "MESSAGE",
     'dateofbirth.after' => "MESSAGE",
     'dateofbirth.before' => "The dateofbirth must be a date before 01-01-2002." 
   ];
}

在我的文件中validation.php我应该放这个吗?

'dateofbirth.before' => "The dateofbirth must be a date before 01-01-2002." ,

你可以做到

'timeStart' => 'required|date_format:"Y-m-d"|after:1960|before:2000-01-01'

不确定日期,但第二部分肯定有效!

你可以这样做:

public function rules(){
    return [
      'dateofbirth' => 'required|date|after:1960|before:2000-01-01'
    ]
}

public function messages(){
    return [
      'dateofbirth.required' => "REQUIRED",
      'dateofbirth.date_format' => "MESSAGE",
      'dateofbirth.after' => "MESSAGE",
      'dateofbirth.before' => "The dateofbirth must be a date before 01-01-2002." 
    ]
}

如果我没记错的话,消息必须用双引号括起来。

更多关于验证的信息:https://laravel.com/docs/5.8/validation