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

时间:2019-07-01 22:42:12

标签: laravel laravel-validation

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

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

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

enter image description here

在文件validation.php,中,我希望收到一条类似于以下内容的消息。

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

如何转换此日期?

编辑02/07/2019

这是我的控制器。这是对的吗 ?

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." ,

1 个答案:

答案 0 :(得分:1)

你可以

'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