2016-08-17 2 views
0

나는 여러 페이지에 모두 작성 페이지가 있습니다. 모델이 만들어지면 유효성 검사를 수행하지 않습니다. 이는 내가 언제든지 돌아가서 사물에 추가 할 수있게 허용하기 때문입니다.다른 요청에 대한 모델 유효성 확인

그러나, 어떤 시점에서, 나는 사용자가 해당 모델의

<a href="{{ route('projects.push', $project->id) }}" class="btn btn-info pull-right" data-token="{{ csrf_token() }}"> 
    Push 
</a> 

모든 프로젝트 모델에 관련된에 버튼을 제공합니다. 그들이 푸시 버튼을 클릭하면 모델을 외부 시스템으로 보냅니다. 그러나이 시점에서 전송중인 모델에 필요한 모든 데이터가 있는지 확인해야합니다. 모델에 대한 유효성 검사에 대해 알고 있지만 이것이 만들어 질 때입니다. 완전히 다른 행동으로 그것들을 검증 할 수 있습니까?

감사합니다.

답변

1

물론 가능합니다. 규칙 및/또는 메시지를 정적 함수로 모델에 저장하는 것이 현명합니다. 예제는 다음과 같습니다

// Project model 
public static function rules() 
{ 
    return [ 
     'field1' => 'rules1..', 
     'field2' => 'rules2..' 
    ]; 
} 

그런 다음 응용 프로그램에서 아무 곳이나 규칙을 검색 할 수 있습니다

Validator::make($fields, Project::rules()); 

마지막으로 한가지. 모델이 이미 생성되었을 때 모델의 유효성을 검사한다고 말했죠. $fields 대신 전체 검색된 모델 변수를 넣는 것이 효과가 있는지 나는 모른다. 예 :

$project = Project::find($id); 

// Try this 
Validator::make($project, Model::rules()); 

// Otherwise try this 
Validator::make($project->attributes, Model::rules()); 

희망이 :)

을하는 데 도움이