拉拉维尔控制器验证日期


Laravel Controller Validation Date

我的窗体的控制器设计是验证项目的日期线和项目的日期线开始日期。

想从验证开始。按照逻辑。日期变更线不能早于开始日期。如果可能,返回自定义错误消息。

public function create(){
        $this -> validate($request, [
            'projectName' => 'required|max:255',
            'projectDescrip' => 'required',
        ]);
        if(startDate > Dateline){
        }
        $project = new Project();
        $project -> project_id = $projects -> id;
        $project -> projectName = $projects -> ProjectName;
        $project -> dateline = $projects -> dateline;
        $project -> startDate = $projects -> startDate;
        $project -> user_id = Auth::user()->id;
    }

有很多方法可以验证,但如果您使用的是表单,那么最好的方法是使用表单请求验证。它使代码更清晰。但要演示日期验证,您可以在控制器中:

$rules = [
    'dateline_start' => 'required|date',
    'dateline_finish' => 'required|date|after:dateline_start',
    //Additional rules go here
];
//Custom error messages
$messages = [
    'dateline_finish.after' => 'Dateline cant be before start date',
    //Additional custom error messages
];

$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
    return redirect('where/they/should/go')
        ->withErrors($validator)
        ->withInput();
}

这是一种方式。