表单操作发生时,Laravel echo自定义错误消息

时间:2018-04-24 18:48:13

标签: php laravel validation

目标是如果使用特定的卡#,则提交订单并保存到数据库(此部分正在运行)。但是,如果你输入一个不同的具体数字,它应该打印“你的卡被拒绝”我无法让这部分工作我收到错误类'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();
}

现在编辑它正在工作我没有收到要打印的实际消息。

刀片

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

1 个答案:

答案 0 :(得分:1)

你忘记了反斜杠

\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