в соответствии с вашим кодом используйте это и убедитесь, что вы используете withInput ()
return redirect()->back()->withErrors($validator)->withInput();
<div class="form-group">
<label>Status</label>
<select class="form-control select2 select2-hidden-accessible" style="width: 100%;" data-select2-id="1" tabindex="-1" aria-hidden="true"
name="user_id" id="user_id" required
>
@foreach($unit as $id => $nama_unit )
<option value="{{ $id }}" {{ old('user_id') == $id ? "selected" :""}}>{{ $nama_unit }}</option>
@endforeach
</select>
<div class="help-block with-errors"></div>
</div>
EDITED
Когда вы используете redirect () после метода post вы должны использовать withInput () , как я упоминал выше, пример
return redirect('route')->withInput();
при использовании view () you необходимо передать данные, такие как массив , как ваш код, а затем использовать ту же переменную имя
return view('sarpras.alkes',['user_id' => $user_id , 'unit' => $unit,'alat' => $alat ])
<option value="{{ $id }}" {{ $user_id == $id ? "selected" :""}}>{{ $nama_unit }}</option>