2017-05-01 3 views
0

Laravel 5とAJAXでのインプレース編集の設定に関しては、先に質問hereと尋ねました。オフラインで管理していたため、何が間違っていたのか把握できなかったため、更新していませんでした。Laravel 5:現場での編集の確認

このテーブルでは、ユーザーの行をインプレースで編集することができますが、今ではLaravelの組み込みバリデーターを利用して、その上にバリデーションを追加しようとしています。しかし、何らかの理由でそれは機能していないようです。失敗したバリデーターをJSONを通して渡そうとすると、私はチェックしている可能性のあるすべてのエラーを吐き出します。これは、バリデーターがすべての入力を空として扱っているかのように、関数の残りの部分が意図したとおりに入力を明確に取り込んでいるため意味がありません。私の前の質問で

コードスニペットは、まだほとんどが関連しているが、以下から分かるように、にHomeController.phpアップデートが行われている:

public function updateTable(Users $users){ 

    $user = request()->input('user'); 

    $first_name = request()->input('first_name'); 
    $last_name = request()->input('last_name'); 

    $validator = Validator::make(request()->all(), [ 
     'firstName'      => 'required|alpha', 
     'lastName'      => 'required|alpha' 
    ], [ 
     'firstName.required'   => 'You need to give a first name!', 
     'firstName.alpha'    => 'A first name can only contain letters!', 
     'lastName.required'    => 'You need to give a last name!', 
     'lastName.alpha'    => 'A last name can only contain letters!' 
    ]); 

    if ($validator->fails()) { 

     return response()->json($validator, 404); 

    } 

    $employees->editUser($user, $first_name, $last_name); 

    return response()->json($user); 

} 
+0

これまでの質問を更新していただければ幸いです。あなたを助けようとした人にも返答しました。 – crabbly

+0

私は、最終的な解決策が示唆されたものから非常に逸脱していたので、ちょっと変わったと感じました。それでも、それは公正なポイントです。以前の質問はここにリダイレクトされて編集されました。 – Alexander

答えて

0

だから私は問題は二倍に気づきました。まず、バリデータが失敗したときに返そうとしていたものが間違っていました。むしろ、単に全体のバリデータを渡すよりも、私は単純にそのメッセージを渡すために必要な、そのように:「 - >すべての()要求()」

if ($validator->fails()) { 

    return response()->json($validator->messages(), 404); 

} 

第二の問題は、実際の呼び出しとしなければなりませんでした。私は得られた配列がうまくいくと仮定していたが、なんらかの理由でそれはしなかった。 "request()"の値に基づいて新しい配列を作成したとき、期待していたバリデータの結果を得ることができました。

関連する問題