2014-05-08 12 views
6

Podążyłem za tutorialem here po zbudowaniu usługi sprawdzania poprawności dla laravel. Mam problemy teraz, gdy próbuje wywołać walidatora z jednego z moich kontrolerów. Widzę błąd:nie można używać klasy, ponieważ nie jest to cecha.

validController cannot use Portal\Service\Validation\Laravel\AppInstancesValidator - it is not a trait

tutaj jest mój kontroler:

class validController extends BaseController { 

    use \Portal\Service\Validation\Laravel\AppInstancesValidator; 

    public function validateInstance() { 
     $post = Input::all(); 

     $instVal = new AppInstancesValidator(App::make('validator')); 

     return $instVal->with($post)->passes(); 
    } 

} 

i mój walidator:

namespace Portal\Service\Validation\Laravel; 

use Portal\Service\Validation\ValidableInterface; 

class AppInstancesValidator extends LaravelValidator implements ValidableInterface { 


    protected $rules = array(
    'app_name' => 'required', 
    'app_instance_name' => 'required', 
    'app_instance_ip' => 'required|ip' 
); 

} 

Odpowiedz

16

Spróbuj oddanie use przed deklarację class:

<?php // namespace Portal\Controllers; 

use \Portal\Service\Validation\Laravel\AppInstancesValidator; 

class validController extends BaseController { 

    public function validateInstance() {} 

} 
1

Twoja instrukcja "użytkowania" powinna znajdować się powyżej definicji klasy validController

Powiązane problemy