2017-08-20 11 views
0

php artisan make:request ValidateRegistrationを使用してフォーム要求を作成しました。 App\Http\Requests\ディレクトリの下にValidateRegistration.phpというファイルが作成されました。この後、私はUserController.phpすなわち私の登録コントローラのstore()機能の変化をした、私はクラスApp Http |コントローラ ValidateRegistraionが存在しません

public function store(Request $request) 
{ 
    // Save the data 
    User::create(request(['fname','lname','phone','email','password'])); 

    // redirect to home page 
    return redirect('/registration-success'); 
} 

TO
public function store(ValidateRagistration $request) 
{ 
    // Save the data 
    User::create(request(['fname','lname','phone','email','password'])); 

    // redirect to home page 
    return redirect('/registration-success'); 
} 

からに

を変更するとAT use App\Http\Requests\ValidateRagistration;を追加した意味UserController.phpファイルの先頭私は何も入力せずにフォームを送信するときしかし、それは私にClass App\Http\Controllers\ValidateRegistraion does not exist

EDIT

追加UserController.phpValidateRegistration.phpファイルでエラーを示します。

UserController.php

<?php 

use App\Http\Requests\ValidateRegistration; 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\User; 

class UserController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index() 
    { 
     // 
    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function create() 
    { 
     $title = "Registration"; 
     return view('/registration', compact('title')); 
    } 

    /** 
    * Store a newly created resource in storage. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @return \Illuminate\Http\Response 
    */ 
    public function store(ValidateRegistration $request) 
    { 
     //// validate requested data 
     //$this->validate(request(), [ 
     // 'fname'  => 'required', 
     // 'lname'  => 'required', 
     // 'phone'  => 'required|size:10', 
     // 'email'  => 'required', 
     // 'password' => 'required' 
     //]); 

     // Save the data 
     User::create(request(['fname','lname','phone','email','password'])); 

     // redirect to home page 
     return redirect('/registration-success'); 
    } 

    /** 
    * Display the specified resource. 
    * 
    * @param int $id 
    * @return \Illuminate\Http\Response 
    */ 
    public function show($id) 
    { 
     // 
    } 

    /** 
    * Show the form for editing the specified resource. 
    * 
    * @param int $id 
    * @return \Illuminate\Http\Response 
    */ 
    public function edit($id) 
    { 
     // 
    } 

    /** 
    * Update the specified resource in storage. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param int $id 
    * @return \Illuminate\Http\Response 
    */ 
    public function update(Request $request, $id) 
    { 
     // 
    } 

    /** 
    * Remove the specified resource from storage. 
    * 
    * @param int $id 
    * @return \Illuminate\Http\Response 
    */ 
    public function destroy($id) 
    { 
     // 
    } 
} 

ValidateRegistration.php

<?php 

namespace App\Http\Requests; 

use Illuminate\Foundation\Http\FormRequest; 

class ValidateRegistration extends FormRequest 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return false; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'fname'  => 'required', 
      'lname'  => 'required', 
      'phone'  => 'required|size:10', 
      'email'  => 'required', 
      'password' => 'required' 
     ]; 
    } 

    /** 
    * Get the error messages for the defined validation rules. 
    * 
    * @return array 
    */ 
    public function messages() 
    { 
     return [ 
      'fname.required' => 'Firstname is mandatoy', 
      'lname.required' => 'Lastname is mandatory', 
      'phone.required' => 'Phone is mandatory', 
      'phone.size' => 'Phone must be 10 digit', 
      'email.required' => 'Email is mandatory', 
      'password.required' => 'Password is mandatory', 
     ]; 
    } 
} 
+1

use文を投稿 - あなたはあなたのポストで2つの全く異なるスペルを持っています。 –

答えて

0

(ValidateRegistration.php)authorize()関数を変更しました。返されたのはfalseです。 trueに変更されました。それは今働いている。

public function authorize() 
{ 
    return false; 
} 

から

public function authorize() 
{ 
    return true; 
} 
2

スポットあなたのクラス名の違い:

ValidateRagistration
ValidateRegistraion

と私はそれがValidateRegistration、アップ明確なタイプミスをお読みください推測している、彼らは唯一のnamespaceuseの位置を入れ替えるUserController.phpの一番上に、後に

+0

私は綴りは修正しましたが、それでも同じ問題があります。私は2つのファイルを追加する質問を編集しました。 –

+0

をチェックしてください@ShaunBiswasあなたが今いるエラーを投稿しますか? 'request()'と 'redirect()'関数はどこに定義されていますか? –

+0

私は 'クラスのApp \のHttp \コントローラで同じエラーを取得しています\ ValidateRegistrationが –

0

物事を混乱させます行は、namespaceは常に

<?php 
namespace App\Http\Controllers; 

use App\Http\Requests\ValidateRegistration; 

use Illuminate\Http\Request; 

use App\User; 

ValidateRegistration.phpアプリである第一でなければなりません\のHttp \ディレクトリを要求します

+0

をexist'ていない私はあなたが提案まったく同じでした。 'ValidateRegistration.php'は私の' App \ Http \ Requests'ディレクトリにあります。今私は '(1/1)HttpExceptionという新しいエラーが発生しました。このアクションは、(ライン133)Handler.phpに不正である ' –

+0

あなたはこの記事をチェックアウトしましたか? [HttpException Handler.php線133で:このアクションは不正である(https://stackoverflow.com/questions/42215055/httpexception-in-handler-php-line-133-this-action-is-unauthorized) –

+0

はいIチェック コントローラが - > '<?php のように見えます。App \ Http \ Controllers; 使用を照らし\財団\バス\ DispatchesJobs。 Illuminate \ Routing \ ControllerをBaseControllerとして使用します。 Illuminate \ Foundation \ Validation \ ValidatesRequestsを使用します。 が点灯\財団\認証\アクセス\ AuthorizesRequestsを使用します。 クラスコントローラはBaseController {使用AuthorizesRequests、DispatchesJobs、ValidatesRequestsを拡張します。 } ' –

関連する問題