I have a dropdown menu like this:
You just have to pass all the values as parameters separated by comma:
$rules = array(
'selection' => 'required',
'stext' => 'required_if:selection,2,3'
);
I think that the require_if validation accept only one value per time. Try to change your validation code as below:
$rule = array(
'selection' => 'required',
'stext' => 'required_if:selection,2|required_if:selection,3',
);
EDIT: Check LePhleg answer, is more cleaner. At the time of the answer that was not possible, just check the question, he was using the same method but not worked.
try this one
if single match value then used like that
'stext' => 'required_if:selection,2'
if you have multiple value then used like that (separated by comma)
'stext' => 'required_if:selection,2,3'
for more information see documentation required_if
You can go ahead with sometimes validation for laravel. you can define a custom closure as in the below example
public static myfunction(){
$input = \Input::only('selection','stext');
$rule = array(
'selection' => 'required'
);
$validator->sometimes('stext', 'required', function($input){
return (($input->selection == 1) || ($input->selection == 2));
});
$validate = \Validator::make($input,$rule);
}