I’m having trouble saving data from a form into my MySQL database. The form is for a vehicle request system, and even though the form inputs are filled, the data isn’t being stored. Below is my setup:
<div class="d-flex justify-content-end mb-3">
<div class="text-right">
<span><strong>Date: </strong></span>
<input type="text" name="date" class="form-control" value="16-Feb-24" style="width: auto; display: inline-block;" />
</div>
</div>
<form action="{{ url('vehicles') }}" method="POST">
@csrf
<div class="mb-3">
<label for="request_personnel">Requesting Personnel:</label>
<input type="text" name="request_personnel" id="request_personnel" class="form-control" value="Justin Jireh E. Ancheta" />
</div>
<div class="mb-3">
<label for="destination">Destination:</label>
<input type="text" name="destination" id="destination" class="form-control" value="LPB, Almont, LTO, Lifeworks, Cristal Press, Yorisa" />
</div>
<div class="mb-3">
<label for="purpose">Purpose:</label>
<input type="text" name="purpose" id="purpose" class="form-control" value="Submit LLDAP/ADA, Payment, Canvass, and Purchase various Products" />
</div>
<div class="mb-3 row">
<div class="col-md-6">
<label for="date_time_needed">Date & Time Needed:</label>
<input type="text" name="date_time_needed" id="date_time_needed" class="form-control" value="16-Feb-24" />
</div>
<div class="col-md-6">
<label for="date_time_returned">Date & Time Returned:</label>
<input type="text" name="date_time_returned" id="date_time_returned" class="form-control" value="16-Feb-24" />
</div>
</div>
<div class="mb-3">
<label for="signature">Signature of Requesting Personnel:</label>
<input type="text" name="signature" id="signature" class="form-control" value="" />
</div>
<div class="mb-3">
<label for="requested_by">Approved:</label>
<input class="text-center" type="text" name="requested_by" id="requested_by" class="form-control" value="REYNANTE J. MATA" />
<h6 class="text-center"><strong>Division Chief</strong></h6>
</div>
<div class="mb-3">
<label for="assigned_driver">Assigned Driver:</label>
<input type="text" name="assigned_driver" id="assigned_driver" class="form-control" value="" />
</div>
<div class="mb-3">
<label for="assigned_vehicle">Assigned Vehicle:</label>
<input type="text" name="assigned_vehicle" id="assigned_vehicle" class="form-control" value="" />
</div>
</form>
Controller Method
public function store(VehicleFormRequest $request)
{
$validated = $request->validate([
'request_personnel' => 'required|string|max:255',
'date' => 'required|date_format:d-M-y',
'destination' => 'required|string|max:255',
'purpose' => 'required|string|max:255',
'date_time_needed' => 'required|date_format:d-M-y',
'date_time_returned' => 'required|date_format:d-M-y',
'signature' => 'nullable|string|max:50',
'requested_by' => 'required|string|max:100',
'assigned_driver' => 'required|string|max:100',
'assigned_vehicle' => 'required|string|max:255'
]);
Vehicle::create($validated);
return redirect()->route('vehicles.index')->with('status', 'Transportation request created successfully');
}
Model
protected $table = 'vehicles';
protected $fillable = [
'request_personnel',
'date',
'destination',
'purpose',
'date_time_needed',
'date_time_returned',
'signature',
'requested_by',
'assigned_driver',
'assigned_vehicle',
];
Despite filling in the form inputs, the data isn’t being saved in the MySQL database. I suspect there might be an issue with the way I’m handling the form data or with my validation rules. Any help to resolve this would be greatly appreciated.