Значение поля ввода datetime не может пройти проверку - PullRequest
0 голосов
/ 24 мая 2018

У меня есть это поле ввода для выбора даты и времени

<input type="datetime-local" class="form-control" id="game-date-time-text" name="game_date_time">

И я пытаюсь отформатировать его по приведенному ниже правилу

'game_date_time' => 'required|date_format:Y-m-dTH:i'

Когда я смотрю на значение этого поляв моем запросе значение примера выглядит так:

2001-03-13T13: 30

Я пробовал различные типы форматов даты и времени, включая приведенный выше, но мое входное значениене может пройти проверку.В чем здесь проблема?

Буду признателен за любую помощь.

Ответы [ 4 ]

0 голосов
/ 24 мая 2018

Хорошо, я думаю, что получил решение.Сначала убедитесь, что ваш столбец даты имеет тип DATETIME.Предполагая, что ваши правила date_time такие, как в модели:

public static $date_rules = [
    'game_date_time' => 'required|date_format:Y-m-dTH:i'
];

И в вашем контроллере метод, которым вы получаете значение date_time:

use Illuminate\Support\Facades\Validator;

public function postDate(Request $request, Role $role){

    $datevalidator = Validator::make($request->all(), YourModel::$date_rules);
    if ($datevalidator->fails()){
        return Redirect::back()->withErrors($datevalidator)->withInput();
    }// this 'if' checks the validation.
    $game_date_time=$request->get('game_date_time');
    return $game_date_time;
}

Надеюсь, это поможет.

0 голосов
/ 24 мая 2018

Вы должны поместить data_format правило в двойные кавычки.

'game_date_time' => 'required|date_format:"Y-m-dH:i"'

Подробнее здесь: https://laravel.com/docs/5.6/validation#rule-date-format

0 голосов
/ 24 мая 2018

Я попробовал это, и это сработало.

'game_date_time' => 'required|date_format:"Y-m-d\TH:i"'
0 голосов
/ 24 мая 2018

попробуйте это

'game_date_time' => 'required|date_format:"Y-m-dTH:i"'

формат даты_ должен быть заключен в двойные кавычки ""

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...