I have a problem validating a form in Laravel 8. I have a form select input days_id and hours_id with each column having multiple rows like this form image . I want to do unique validation for those 2 columns together, so data is not duplicated in DB and show which inputs are invalid. My table schedules structure schedules table
The problem is, my request form is array like this image request ,how to validate input days_id[index] and hours_id[index] with existed columns days_id and hours_id in DB?
My view
<tr>
<td class="day">
<input type="hidden" name="teasubid[]" value="{{ $teacher_subj->id }}">
<select name="days_id[]" class="form-control selectday">
@foreach ($days as $day)
<option value="{{ $day->id }}">
{{ $day->name }}
</option>
@endforeach
</select>
</td>
<td class="hour">
<select name="hours_id[]" class="form-control selecthour">
@foreach ($hours as $hour)
<option value="{{ $hour->id }}">
{{ $hour->hours }}
</option>
@endforeach
</select>
</td>
</tr>
My ScheduleRequest
public function rules()
{
return [
'teacher_classes_id' => 'required',
'hours_id' => 'required|unique:schedules,hours_id',
'days_id' => 'required|unique:schedules,days_id'
];
}
I have checked this post-https://stackoverflow.com/questions/68176098/array-validation-unique-validation-on-multiple-columns and Laravel Validation of two combined columns but I am still confused about array validation and using rules in Laravel.