Laravel эхо пользовательское сообщение об ошибке, когда происходит действие формы - PullRequest
0 голосов
/ 24 апреля 2018

Цель состоит в том, чтобы при использовании определенной карты # заказ отправлялся и сохранялся в базе данных (эта часть работает).Тем не менее, если вы введете другое конкретное число, оно должно вывести «Ваша карта была отклонена». Я не могу заставить эту часть работать. Я получаю сообщение об ошибке. Класс «App \ Http \ Controllers \ Session» не найден

Использование контроллера

<?php

namespace App\Http\Controllers;

use App\Item;
use App\Purchase;
use App\Http\Controllers\Session;
use Illuminate\Http\Request;

Функция контроллера

public function store(Purchase $purchase, Item $item)
{
  $this->validate(request(), [
  'fName' => 'required|min:3',
  'lName' => 'required|min:3',
  'address' => 'required',
  'city' => 'required',
  'state' => 'required',
  'zip' => 'required',
  'card' => ['required', 'regex:(5105 1051 0510 5100|4111 1111 1111 1111)']
  ]);

  $purchase->product = request('product');
  $purchase->fName = request('fName');
  $purchase->lName = request('lName');
  $purchase->address = request('address');
  $purchase->city = request('city');
  $purchase->state = request('state');
  $purchase->zip = request('zip');
  $purchase->card = request('card');

  if (request('card') == '5105 1051 0510 5100') {
    $purchase->save(); // Save to the database
    return redirect('/thanks/'.$item->id);
  } elseif (request('card') == '4111 1111 1111 1111') {
    Session::flash('error', "Special message goes here");
    return Redirect::back();
  }

  return back();
}

Редактируйте сейчас, когда оно работает. Я не получаю фактическое сообщение для печати. ​​

Blade

@php
  if ( Session::has('error') ) {
    echo '<div class="alert alert-info">{{ Session::get("error") }}</div>';
  }
@endphp

1 Ответ

0 голосов
/ 24 апреля 2018

Вы забыли обратную косую черту

\Session::flash('error', "Special message goes here");
^^

или заменить

use App\Http\Controllers\Session;

С

use Session;

Если вы посмотрите на config/app.php, вы увидите там псевдонимы.

И исправьте свой код здесь:

@php
  if ( Session::has('error') ) {
    echo '<div class="alert alert-info">'. Session::get("error") . '</div>';
  }
@endphp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...