I inserted two date pickers to select "from" "to" dates inside multi rows. Now I want to validate the "from date" and "to date". So I added validations as follows.
$request->validate([
'from.*' => 'required',
'to.*' => 'required',
],
[
'from.required' => 'Please select from date.',
'to.required' => 'Please select to date.'
]
);
But it doesn't show validations though I didn't select any date from the date picker, because the date picker gets default date as current date. (Default current date displays inside the text field)
Here is the blade.php and scripts
<td><input type="text" name="addmore[0][from]" placeholder="" class="form-control" value="" /></td>
<td><input type="text" name="addmore[0][to]" placeholder="" class="form-control" value="" /></td>
<script type="text/javascript">
var i = 0;
$("#add").click(function(){
++i;
$("#dynamicTable").append('<tr><td><input type="text" name="addmore['+i+'][from]" placeholder="" class="form-control" value="{{ old('from') }}" /></td><td><input type="text" name="addmore['+i+'][to]" placeholder="" class="form-control" value="{{ old('to') }}" /></td><td><button type="button" class="btn btn-danger remove-tr">Remove</button></td></tr>');
$(function() {
$('input[name="addmore['+i+'][from]"],[name="addmore['+i+'][to]"]').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1995,
maxYear: parseInt(moment().format('YYYY'),10)
}, function(start, end, label) {
var years = moment().diff(start, 'years');
});
});
});
$(document).on('click', '.remove-tr', function(){
$(this).parents('tr').remove();
});
$(function() {
$('input[name="addmore[0][from]"],[name="addmore[0][to]"]').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1995,
maxYear: parseInt(moment().format('YYYY'),10)
}, function(start, end, label) {
var years = moment().diff(start, 'years');
});
});
</script>
Please help me to show validation if I didn't select a date from the date pickers. Thank you.