2016-08-02 13 views
0

MAMPでローカルに実行されているLaravel 5.2を使用しており、Ubuntu 14 PHP 5.9のAWSインスタンスで同じ問題が発生しています。Laravelはページロード時に検証エラーが発生しました。

私はLaravelプロジェクトで非常に奇妙で不満な問題に遭遇しました。

ページが読み込まれると、すべてのフォームに検証エラーが表示されます。 errors配列が空である間にエラーが発生したかどうかを報告します。

私の人生のために私はこの問題をデバッグする方法を理解できません。私はSentryをインストールして正常に動作し、何もSentryに報告されず、何も記録されていません。

最後に追加されたものとして、Sentryを削除しようとしました(Ravenは非推奨となっています)。

私は、単にサーバー側の検証を取り除くだけで、JavaScriptがそれを処理するようにしています。

私は歴史上2ヶ月前に戻ってしまい、問題は依然として存在します。私たちがサイトを見ていると、これはまったく起こりそうにないようです。

これをさらに詳しく調べる方法や、アイディアがあれば教えてください。

ありがとうございます! Githubの上BrandonSurowiecから

{{ var_dump($errors->has()) }} <!-- true --> 
{{ var_dump($errors->all()) }} <!-- none --> 

@if ($errors->has()) 
    <div class="alert alert-danger"> 
     <strong>Whoops! Something went wrong!</strong> 
     <br><br> 
     <ul> 
      @foreach ($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
    </ul> 
    </div> 
@endif 
+0

@if($errors->count())を使用していましたか? – Maraboc

+0

あなたのすべてのウェブルートをルートグループに追加し、このルートミドルウェアを次のように適用してみてください: 'Route :: group(['middleware' => 'web']、function(){ //あなたのウェブルートここに... }); ' – Maraboc

+0

@Marabocいいえ、私はこのプロジェクトの開始以来5.2歳です。私は '@if($ errors-> has())'から '@if(count($ errors)> 0)'を使うようにviewの部分を変更しました。私はまた、別のAPIに提出される前にコンテンツをクリーンアップして検証するコントローラーを通じてフォーム送信を実行します。もし私たちがエラーをキャッチしたら、私たちはそれらと一緒にリダイレクトします。 '['middleware' => 'web']を使って何か変わったか?私が見つけた多くの答えはそれに言及しました。 –

答えて

0

:それは、その後、最後の二つのいずれかのリリースで、いくつかのリファクタリングが原因で壊れていた

がで修正されました。このコミット:だから次の#

14409リリース5.2.42では、予期した動作を復元する必要があります。詳細は、問題#14396を参照してください。

https://github.com/laravel/framework/issues/14396

今のソリューションは、あなたがlaravelの最も古いバージョンからアップグレードしました

関連する問題