Reputation: 324
How can I check old data is available or not after validation from controller? i used this but it shows error
@if(\Illuminate\Http\Request::old('status')!=null)
<option style="display: none" value="{{old('status')}}" hidden>{{old('status')}}</option>
@endif
also used this one
@if(isset(old('status')))
<option style="display: none" value="{{old('status')}}" hidden>{{old('status')}}</option>
@endif
full form is
<form action="{{route('add-expense-store')}}" method="post" class="new-added-form">
{{ @csrf_field() }}
<div class="row">
<div class="col-xl-8 col-lg-8 col-12 form-group">
<label>Expense Type</label>
<select class="select2" name="type">
<option value="">Please Select</option>
{{--<option value="Teacher's Salary">Teacher's Salary</option>
<option value="Staff's Salary">Staff's Salary</option>--}}
<option value="Transport">Transport</option>
<option value="Mobile Bill">Mobile Bill</option>
<option value="Utility Bill">Utility Bill</option>
<option value="Stationary">Stationary</option>
<option value="Print & Press">Print & Press</option>
<option value="Photocopy & Compose">Photocopy & Compose</option>
<option value="Entertainment & Hospitality">Entertainment & Hospitality</option>
<option value="Donation">Donation</option>
<option value="Program">Program</option>
<option value="Personal or Owner">Personal or Owner</option>
</select>
</div>
<div class="col-xl-4 col-lg-4 col-12 form-group">
<label>Status</label>
<select class="select2" name="status">
@if(isset(old('status')))
<option style="display: none" value="{{old('status')}}" hidden>{{old('status')}}</option>
@endif
<option value="">Please Select</option>
<option value="Paid">Paid</option>
<option value="Due">Due</option>
</select>
</div>
<div class="col-xl-6 col-lg-6 col-12 form-group">
<label>Holder Name</label>
<input type="text" placeholder="" class="form-control" name="holder_name"
value="{{ old('holder_name') }}">
</div>
<div class="col-xl-6 col-lg-6 col-12 form-group">
<label>Phone</label>
<input type="number" placeholder="" class="form-control" name="phone" {{ old('phone') }}>
</div>
<div class="col-12 form-group mg-t-8">
<button type="submit" class="btn-fill-lg btn-gradient-yellow btn-hover-bluedark float-right">Save
</button>
</div>
</div>
</form>
controller
$this->validate($request, [
'type' => 'required',
'status' => 'required'
]);
both are getting error. How can I check old value us available or not in blade?
Now I include my form data. here I wants to hidden if old value is not found. please help with this one. check isset old data in blade.
Upvotes: 0
Views: 2596
Reputation: 1769
You can check it in this way. Remember to return it in this way from controller
$validator = $this->validate($request, [
'type' => 'required',
'status' => 'required'
]);
if ( $validator->fails() ) {
return back()->withErrors( $validator )->withInput();
}
In your view do this
<select class="select2" name="status">
<option value="">Please Select</option>
<option value="Paid" {{ old('status') == 'Paid' ? 'selected' : '' }}>Paid</option>
<option value="Due" {{ old('status') == 'Due' ? 'selected' : '' }}>Due</option>
</select>
Upvotes: 2