Дата проверки Laravel не соответствует формату

Я пытаюсь подтвердить дату в Laravel. Я использую datepicker во внешнем интерфейсе, где JavaScript отправляет дату на сервер Laravel в этом формате dd-MMMM-yy:

$scope.formData.dob = $filter('date')(scope.formData.dob, 'dd-MMMM-yy');

В моем laravel есть такая проверка:

$validator = Validator::make($postData, [
             'dob'       => 'date_format:"dd-MMMM-yy"',
         ]);

Однако валидатор продолжает говорить, что дата не соответствует формату dd-MMMM-yy:

Dob не соответствует формату дд-ММММ-гг.

Я подумал, что, возможно, это связано с типом формата, поэтому я попытался изменить его на другие форматы, такие как d / m / y, dd-mm-yyyy и т.д .. как в дате JavaScript, так и в проверке даты Laravel, но все продолжает говорить одну и ту же ошибку что дата не совпадает. Вывод кажется прекрасным, и он находится в формате, который я упомянул при проверке. Я не понимаю, почему проверка Laravel не работает.

Я что-то упустил?


person Neel    schedule 18.08.2015    source источник


Ответы (1)


Вы используете неправильный формат. Вам необходимо использовать стандартные форматы PHP, которые используются Carbon и, в свою очередь, валидацией Laravel. Вы можете найти их в документации PHP для date()

Я полагаю, что на самом деле вам нужно d-F-y.

person Josh    schedule 18.08.2015
comment
хм. в этом есть смысл. Я попробую сейчас и отправлю ответ - person Neel; 18.08.2015
comment
Идеально. Это работает! Большое спасибо. Я застрял в этом весь вечер! - person Neel; 18.08.2015
comment
@Neel Нет проблем. Обязательно прочтите связанные документы для date(). Форматы даты PHP кардинально отличаются от тех, к которым вы привыкли в Javascript и многих других языках / библиотеках. - person Josh; 18.08.2015