2016-08-21 4 views
2

초기에 입력란에 필드로 first_name, last_name, password, email을 입력했습니다. 비즈니스로 등록하는 옵션을 추가해야합니다.Laravel 5.2 조건부 유효성 검사

내 초기 유효성 검사 규칙은 :

protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'first_name' => 'required|max:255', 
     'last_name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 

나는 business_name 필드를 추가해야합니다. 유효성 확인이 필요합니다.

first_namelast_name이 필요합니다. x 또는 business_name이 필요합니다.

어떻게 Laravel 5.2에서이 작업을 수행 할 수 있습니까? 나는 sometimes 규칙을보고 있었지만 이것이 어떻게 수행되어야하는지 확실하지 않습니다.

편집 : 나는 그것을 거의 수행 할 수도있을 것 같군요

를 통해 :

protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'first_name' => 'sometimes|max:255', 
     'last_name' => 'sometimes|max:255', 
     'business_name'=>'sometimes|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 

키 따라서, 입력 배열에 존재하는 경우 sometimes 규칙에 대한 이해에서, 그것은 단지 확인되지만 first_name이 존재할 수 있으며 last_name이 존재하지 않아 "통과"로 확인됩니다. 이것은 내가 바라는 행동이 아닙니다.

답변

3

은 당신이 찾고있을 수도 것은 유효성 검사 규칙은 '다른 지정된 필드 중 하나가 존재하지 않는 경우에만 검증 아래의 필드가 존재하고 비어 있지해야한다'라고하는 required_without:foo,bar,...

입니다.

너도 그렇습니다. business_name => required_without:first_name,last_name

+0

Perfect! 나는 그 문서에서 완전히 그것을 놓쳤다. 답변 해주셔서 감사합니다. 추신. 내가 담당자를 얻으면 내가 업 보스 할게. 건배, Chris – 1221312

+0

우수. 기쁜 데 도움이되었습니다. –