Required_if laravel with multiple value

Donny Akhmad Septa Utama picture Donny Akhmad Septa Utama · Mar 29, 2016 · Viewed 32.8k times · Source

I have a dropdown menu like this:

<select name="selection">
   <option value="1">Option 1</option>
   <option value="2">Option 2</option>
   <option value="3">Option 3</option>
</select>
<input type="text" name="stext">

I want the following in laravel:

public static myfunction(){
   $input = \Input::only('selection','stext');
   $rule = array(
      'selection' => 'required',
      'stext' => 'required_if:selection,2,3',
   );
   $validate = \Validator::make($input,$rule);
}

But if I select option 1, stext is still required. Why? How can I fix it?

Answer

lephleg picture lephleg · Dec 1, 2016

You just have to pass all the values as parameters separated by comma:

$rules = array(
      'selection' => 'required',
      'stext'     => 'required_if:selection,2,3'
);