2017-04-03 12 views
1

Laravel Validator Facadeを使用して簡単な検証を実装しようとしています。これは、以下の私のコードです未定義メソッドを呼び出すLaravelの Support Facades Validator :: make()を照らす5.4

Fatal error: Call to undefined method Illuminate\Support\Facades\Validator::make() in C:\xampp\htdocs..\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php on line 221

use Validator; 

/** 
* Validate the tenant's credentials 
* 
* @param array $data 
* @return bool 
*/ 
public function validate(array $data) 
{ 
    $data = array_only($data, ['email', 'href']); 

    $validator = Validator::make($data, $this->rules); 

    if ($validator->passes()) return true; 

    $this->errors = $validator->messages(); 

    return false; 
} 
+0

ファサードネームスペース 'use \ Validator'にバックスラッシュを追加してみてください –

+0

しました。それでも同じエラーが表示されます。私は何が間違っているのか分からない。私は最後にここに投稿する前にGoogleを使って検索しました。私が何をすることができるかについてもっと考えてみませんか? – geebengs

+0

try:use \ Illuminate \ Support \ Facades \ Validator' – dparoli

答えて

0

代わりに、長い名前空間ファサード

use Validator; 

のあなたのスクリプトの先頭に使用これをしかし、それは下に私は、このエラーを与え続けますすべてがうまくいくはずです

+0

Thiisは、私が使用しているまさにです。親切に私の投稿を読んでください。 – geebengs

0

「Illuminate \ Validation \ ValidationServiceProvider」が利用可能であることを確認してくださいルかどうか、このファイルに
アプリ/設定/ app.php 他のすべてが失敗した場合、この行に 'Validator' => Illuminate\Support\Facades\Validator::class,

+0

これが利用でき、まだエラーが表示されています。私は本当に何が欠けているのか分かりません。すべてが損なわれていないようですが、まだエラーが出ます。 – geebengs

0

を追加しない場合は、あなたがvendor/ディレクトリを削除し、composer installを実行することにより、Laravelアプリを再構築してみてください。

+0

これはうまくいくようです。しかし、私のテストでは 'JobBoard \ Tests \ Application \ Recruitment \ TenantRegistrationTest :: should_only_accept_valid_email_addresses ReflectionException:クラスバリデータが存在しません。 'と表示されます。 – geebengs

+1

バリデーターをIOCから抜き取ってテストすることをお勧めします。すなわち、すべてのテストファサードコールを '$ this-> app ['validator'] - > make($ data、$ rules);'に置き換えてください。ファサードはできるだけ使用しないでください。 –

関連する問題