在我的控制器中,我想为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.
如何转换此日期?
编辑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." ,
答案 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