doushen2154 2017-11-21 04:00
浏览 56

Laravel:使用自定义错误重定向但没有错误消息

Consider the manual authentication. If the order ID has not been found in database, we redirect user to page with input fields and with error 'wrongOrderId':

public function login(Request $request) {

    $inputted_orderId = $request->input('order_id');       
    $orderIdInDB = DB::table(self::SITE_IN_DEVELOPMENT_TABLE_NAME)
            ->where(self::ORDER_ID_FIELD_NAME, $inputted_orderId)->first();

   if (is_null($orderIdInDB)) {
       return Redirect::route('loginToSitesInDevelopmentZonePage')->withErrors('wrongOrderId');
   }               
}

In this example, we don't need to pass the error message: the message box is already exists in View; all we need is to display this message box when user has been redirected with error 'wrongOrderId':

@if (!empty($errors->first('wrongOrderId'))) 
    <div class="signInForm-errorMessagebox" id="invalidID-errorMessage">
        <!-- ... -->
    </div>
@endif

All above code is working without laravel/php errors; I get into is_null($orderIdInDB) if-block when input wrong order number, however the error message box don't appears. I tried a lot of ways, and (!empty($errors->first('wrongOrderId'))) is just last one. What I doing wrong?

  • 写回答

3条回答 默认 最新

  • dongshan1036 2017-11-21 04:27
    关注

    Did you try printing {{$errors->first()}}?

    first(string), works as a key value pair, it invokes its first key VALUE

    try this,

     @if($errors->any())
        <div class="signInForm-errorMessagebox" id="invalidID-errorMessage">
            <!-- ... -->
        </div>
     @endif
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比