2016-02-15 3 views
1

Моя конфигурация контроллера для моей формы заключается в проверке даты проекта и дате начала проекта.Дата проверки контроллера 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; 
    } 
+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(); 
} 

Это один из способов на него.