2017-11-16 1 views
1

Laravel의 유효성 검사에 몇 가지 문제가 있습니다. required_if 검사기를 사용하고 있습니다.Laravel required_if가 다른 매개 변수를 허용하지 않습니다.

내가 달성하고자하는 일 : hilightColorBool사실 경우이 hilightColor가 을 요구해야한다, 정수사이에 있어야한다 : 최대 1: 5.

... 
'hilightColorBool' => 'required|boolean', 
'hilightColor' => 'required_if:hilightColorBool,1|integer|min:1|max:5' 
... 

그러나 나는 항상 hilghtColor는 부울 내가 정수를 제거 할 때입니다 반환 위처럼하고있을 때, 그것은 잘 작동하지만, 나는 그것이 정수인지 어쨌든 검증 할 필요가 hilightColor에서 최소 및 최대 1 ~ 5 사이. 이상하게 보입니다. 내 댓글에서 진행

+0

그것을 시도가 작동 할 수 있습니다 ''hilightColor '=>'required_if : hilightColorBool | integer | min : 1 | max : 5'' –

+0

유감 스럽지만 작동하지 않습니다 - "유효성 검사 규칙 required_if에 적어도 두 개의 매개 변수가 필요합니다". –

답변

0

, 내가 이런 식으로 할 수 있습니다

$rules = [ 
    'hilightColorBool' => 'required|boolean', 
]; 

if (is_bool($request->get('hilightColorBool'))) { 
    $rules['hilightColor'] = 'required|integer|min:1|max:5';  
} 

을 단순히 수행

$request->validate($rules); 
+0

네, 답을 기반으로했지만, if ($ request [ 'hilightKidsWithNonstandardDiet'] == true)'if ($ request-> get ('hilightColorBool')) . 감사. –

관련 문제