Формат даты на французском языке в рамках валидации Laravel - PullRequest
0 голосов
/ 02 июля 2019

В моем контроллере я хочу создать проверку на дату до 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 Ответ

1 голос
/ 02 июля 2019

Вы можете сделать

'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

...