2017-06-06 10 views
1

マイLaravelフレームワークは、私はチュートリアルに従っている5.4.19Laravel要求からValidatonは

でエラーが表示されません。 http://www.easylaravelbook.com/blog/2015/08/17/creating-and-validating-a-laravel-5-form-the-definitive-guide/

と作成されたフォーム要求ファイルtours2_create_tableRequest.php:

<?php 
namespace App\Http\Requests; 
use Illuminate\Foundation\Http\FormRequest; 
class tours2_create_tableRequest extends FormRequest 
{ 

public function authorize() 
{ 
    return true; 
} 

public function rules() 
{ 
    return [ 
     'doc_fullnumber' => 'unique:tourists' 

    ]; 
} 

}

(リクエストの「doc_fullnumber」に「ツーリスト」モデルで重複がないかどうかを確認する)

私は、フォームblade.phpファイルにこのコードを追加しました:

@if($errors->count() > 0) 
    <div> 
    @foreach ($errors->all() as $error) 
     {{ $error }} 
    @endforeach 
    </div> 
@endif 

検証が正常に動作していることに私には思える(「doc_fullnumberは」ユニークでない場合、それはフォームページを作成するために戻ってユーザーをリダイレクトします) $ errors変数は渡しません。

私はStackoverflowを閲覧し、同じ問題のいくつかのトピックを見つけました。

Route::group(['middleware' => ['web']], function() { 
}); 

私はそれをやったが、それは解決しない...ここ

は、実際に、(一時的なフォームのページです:彼らは、中(web.phpで)すべての私のルートをラップすることをお勧め): http://f832ee57.ngrok.io/tours_2/create ( "doc_fullnumber"フィールドが最後のフィールドです。そこに "2001"を追加して検証を確認できます)。 gitの上

私のプロジェクト:https://github.com/Sergey1983/first

は、任意の助けに感謝! uniqueルールを動作させるために

+0

は、テーブル名を追加します。私は同じ問題を持っていましたが、私はそれで一意に固定されました:table_name.tourists – Paudel

+0

Thanx、Paudel。しかし、「観光客」は実際にテーブル名です。 –

答えて

1

、あなたはDBに `「doc_fullnumber」フィールドを持っている必要があります。また、カスタム名フィールドを指定する必要があります:あなたの検証で

'doc_fullnumber' => 'unique:tourists,custom_fullnumber_field' 
+0

こんにちは、アレクセイ!私は私のDBにそれを持っています:http://joxi.ru/RmzXYy0f0lwanA –