2014-05-08 5 views
6

laravel에 대한 유효성 검사 서비스 빌드에 대한 자습서 here을 따라했습니다. 내 컨트롤러 중 하나에서 유효성 검사기를 호출 할 때 문제가 발생했습니다.은 특성이 아니기 때문에 클래스를 사용할 수 없습니다

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(); 
    } 

} 

내 검사기 : 여기

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

내 컨트롤러 : 나는 오류를보고하고

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' 
); 

} 

답변

16

use 전에 class 선언 넣어보십시오 :

<?php // namespace Portal\Controllers; 

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

class validController extends BaseController { 

    public function validateInstance() {} 

} 
1

'use'문은 validController 클래스 정의 위에 있어야합니다.

관련 문제