【问题标题】:Errors not showing up in blade file in laravel5.5laravel5.5 的刀片文件中未显示错误
【发布时间】:2017-12-13 07:55:36
【问题描述】:

我正在对表单应用验证。我在 json 中收到错误消息,但是刀片文件中没有显示错误。

以下是代码,我已经写在控制器文件中进行验证:-

namespace App\Http\Controllers\SpecialOffers;

use Illuminate\Support\Facades\Mail;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;

use Illuminate\Support\Facades\Auth;

use Validator;

use Illuminate\Support\MessageBag;

class SpecialoffersController extends Controller
{

 /**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest');
}

/**
 * Show the application dashboard.
 *
 * @return \Illuminate\Http\Response
 */
public function NewPromotion()
{
    return view('new-promotion');
}

public function store(Request $request)
{

   // Validate and store the values....
    $validator = Validator::make($request->all(), [
        'promotion_name' => 'required',
        'service' => 'required',
        'promotion' => 'required',
        'promotion_details' => 'required',

    ]);

    if ($validator->passes()) {
        // Get the currently authenticated user...
    $user = Auth::user();

    // Get the currently authenticated user's ID...
    $id = Auth::id();

    $promotion_name = $_POST['promotion_name'];
    $service = $_POST['service'];
    $promotion = $_POST['promotion'];
    $promotion_details = $_POST['promotion_details'];

    $insert = DB::insert('insert into special_offers_details(user_id,promotion_name,service,promotion_limited,promotion_details,price,sent_to) values(?,?,?,?,?,?,?)', ['',$promotion_name, $service, $promotion, $promotion_details,'','']);

    $result = array();

    if($insert==1)
    {
        $result['message']='Successfully inserted';
        $result['html']='1';
    }
    else
    {
        $result['message']='error';
        $result['html']='0';
    }

    //echo json_encode($result);
    return json_encode($result);
    }

    if($validator->fails()) {
        return response()->json(['error'=>$validator->errors()->all()]);
        //return Redirect::back()->withErrors($validator);
    }

}

} 错误显示响应但未显示在视图文件中。以下代码是视图文件中调用错误的代码:-

@if ($errors->any())
<div class="alert alert-danger">
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif

我不明白为什么错误没有出现。缺少什么?

【问题讨论】:

  • 你试过转储$errors吗?
  • 存储函数返回 json 而不是视图

标签: php jquery ajax laravel-5.5


【解决方案1】:

由于您以 JSON 格式返回它,因此刀片模板不会呈现它,因为 php 无法直接读取 JSON,您所做的只是以 php 数组格式返回错误响应

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-12
    • 2018-11-11
    • 1970-01-01
    • 2015-08-14
    • 2016-06-14
    • 2019-06-28
    • 2020-04-09
    • 2019-10-14
    相关资源
    最近更新 更多