手動認証を検討してください。 注文IDがデータベースに発見されていない場合、我々は、入力フィールドで、エラー'wrongOrderId'
でページにユーザーをリダイレクトします。この例ではLaravel:エラーメッセージなしでカスタムエラーでリダイレクト
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');
}
}
、我々はエラーメッセージを渡す必要はありません:メッセージボックスは既にビューに存在します。私たちが必要なのは、ユーザーがエラー'wrongOrderId'
にリダイレクトされたこのメッセージボックスを表示することです:すべてのコードの上に
@if (!empty($errors->first('wrongOrderId')))
<div class="signInForm-errorMessagebox" id="invalidID-errorMessage">
<!-- ... -->
</div>
@endif
がlaravel/PHPエラーなしで働いています。間違った注文番号を入力するとis_null($orderIdInDB)
if-blockに入りますが、エラーメッセージボックスは表示されません。私はたくさんの方法を試しましたが、(!empty($errors->first('wrongOrderId')))
は最後の1つです。私は何が間違っていますか?
なりの答えをありがとう! '$ errors-> first()'を正常に表示しました。 '@if($ errors-> any())'も動作します。特定のエラーを確認する方法、私はuser2486の答えで学んだ。 –