2017-01-06 14 views
2

フォーム検証でコールバックを試みています。 しかし、私は(関数($バリデータ){Laravel 5.2フォーム検証ajaxによるコールバック関数

を$ validator->内

$要求[ 'beginningDate']

にアクセスすることはできません

返す未定義の変数:リクエスト

function store(Request $request){ 

    $validator = Validator::make($request->all(),[ 
     'beginningDate' => 'required|date|before:endingDate', 
     'endingDate' => 'required|date|after:beginningDate', 
    ]); 

    $validator->after(function($validator) { 
     $beginningDate = $request['beginningDate']; 
     $endingDate = $request['endingDate']; 
     $beginningDate = 'a'; 
     if ($beginningDate != '2015-02-01') { 
      $validator->errors()->add('fendingDateield', 'Something is wrong with this field!'); 
     } 
    }); 

    if ($validator->fails()) { 
     return [ 
      'success' => false, 
      'errors' => $validator->getMessageBag()->toArray() 
     ]; 
    } 

    echo json_encode(array('success' => true, 'errors' => null)); 
} 

答えて

2

use()を使用して、$request変数をクエリに挿入します。

$validator->after(function($validator) use($request) { 
     $beginningDate = $request['beginningDate']; 
+0

ありがとうございます。 しかし、構文が正確に何を参照するのか理解できませんでした** function($ validator)use($ request)** – NSK

+0

@ NSKこれは、クロージャーが外部変数を参照しない独自のローカルスコープを持っているからです。 –

+0

もう一度you.when私はグーグル私はグーグルで私は問題を解決するために単一の結果を得ることができなかったありがとう、http://laravel.io/にもありがとう。私は、私は多くの家事をしなければならないと思います。 laravelで正しいコーディングを行うためのチュートリアルを紹介してください。 – NSK

関連する問題