Laravel控制器验证日期

时间:2016-02-15 03:08:13

标签: php validation laravel

我的表单的控制器设计是验证项目的日期行和项目的日期行开始日期。

想开始验证。正如逻辑所说的那样。日期线不能在开始日期之前。如果可能的话,返回自定义错误消息。

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;
    }

1 个答案:

答案 0 :(得分:2)

有许多方法可以验证,但如果您使用表单,那么最好的方法是使用Form Request Validation。它使代码更清晰。但为了演示日期验证,您可以在控制器中执行以下操作:

$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();
}

这就是它的一种方式。