Laravel Validate Moment.js Дата
Я пытаюсь проверить диапазон дат в Laravel, куда отправляются данные из моего Angular Javascript.
Frontend Angular отправляет диапазон дат с помощью moment.js следующим образом:
var endDate = moment();
var startDate = moment().subtract(29, 'days');
var apiDateRange = {
'startDate': startDate.format(),
'endDate': endDate.format()
};
В консоли я вижу, что дата опубликована так:
endDate 2015-09-14T15:39:53+05:30
startDate 2015-08-16T15:39:53+05:30
Я пытаюсь подтвердить дату в Laravel. Читая документы, я вижу, что мне нужно использовать date_format
за это. Но я неправильно понимаю формат. Это то, что я пробовал до сих пор и, очевидно, ошибаюсь:
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d H:i:s.u"|required'
'endDate' => 'date_format:"Y-m-d H:i:s.u"|required'
]);
// AND
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d\TH:i:s"|required',
'endDate' => 'date_format:"Y-m-d\TH:i:s"|required',
]);
Я прочитал документ php date, и я запутался, собирая вместе date_format
за это. Может ли кто-нибудь любезно помочь мне здесь, пожалуйста?
2 ответа
Не могли бы вы передать в качестве строки даты, как 2015-06-10 01:10:25
при форматировании
var format_to = 'YYYY-MM-DD HH:mm:ss';
var apiDateRange = {
'startDate': startDate.format(format_to),
'endDate': endDate..format(format_to)
};
Плюс я думаю, что лучше иметь такую проверку, как 'startDate' => 'required|date'
Извините, что отвечаю на мой вопрос. Вскоре после публикации моего вопроса я узнал, что с помощью date
проверка работает вместо использования date_format
, Итак, вот что я имею сейчас:
$validator = Validator::make($postData, [
'startDate' => 'date|required',
'endDate' => 'date|required'
]);