Wysyłam więc do akcji kontrolera API, jak widzimy, mam podstawową walidację:

public function store(Request $request) {
        $fields = $request->except(['_token']);
        $user   = $request->user();

        $request->validate([
            'log_date' => 'required|date_format:"Y-m-d"',
            'bill_time' => 'required|numeric',
        ]);
}

Ciągle otrzymuję: The log date does not match the format Y-m-d.

Przychodząca data jest formatowana przez moment js i pokazuje:

"2018-11-6"

Więc jestem zdezorientowany, dlaczego to nie jest prawidłowo sformatowane?

1
TheWebs 7 listopad 2018, 00:21

1 odpowiedź

Najlepsza odpowiedź

Podczas korzystania z Y-m-d, d w tej masce formatu stosuje się do następujących elementów:

Dzień miesiąca, 2 cyfry z wiodącymi zerami

Tak więc przekazywana wartość 2018-11-6 kończy się niepowodzeniem, ponieważ 6 nie pasuje do 06. Użyj Y-m-j, gdzie j to

Dzień miesiąca bez wiodących zer

Lub dostosuj, jak moment wysyła Twoją wartość.

Aby zapoznać się z pełną datą, sprawdź http://php.net/manual/en/function. data.php

1
Tim Lewis 7 listopad 2018, 00:36