Heim >Backend-Entwicklung >PHP-Tutorial >Manchmal existiert $errors nicht. Warum meldet Blade keinen Fehler?
$errors
ist ein Attribut, das von laravel
automatisch in response
eingefügt wird. Auch wenn es nicht in Ihrem Code geschrieben ist, wird es dennoch einen leeren Wert übergeben, dessen Typ
IlluminateSupportViewErrorBag
Aber es wird eigentlich nur mit einem Array multipliziert IlluminateSupportMessageBag
Wenn Sie also $errors->first('email')
verwenden, können Sie es gemäß dem folgenden Code sehen
<code class="php">/** * Get the first message from the bag for a given key. * * @param string $key * @param string $format * @return string */ public function first($key = null, $format = null) { $messages = is_null($key) ? $this->all($format) : $this->get($key, $format); return count($messages) > 0 ? $messages[0] : ''; }</code>
Wenn ein Wert vorhanden ist, wird er zurückgegeben. Wenn kein Wert vorhanden ist, wird er leer zurückgegeben, sodass kein Fehler gemeldet wird
Da Laravel 5.2.27 Web-Middleware zu jeder Seite hinzugefügt hat, wird der Fehler „$errors ist nicht definiert“ natürlich nicht gemeldet.
Schreiben Sie den Formularcode außerdem direkt in Views? Müssen Sie nicht auf das Formularerweiterungspaket klicken?