I have a form with date picker input field which asks for value even after the date is chosen.
note: This error doesn't e when i type the value.
<input data-parsley-trigger="change" name="epa_date" required type="text" class="form-control" id="single_cal1" placeholder="(YYYY/MM/DD)">
<script>
$('#single_cal1').daterangepicker({
singleDatePicker: true,
minDate: moment(),
format: 'YYYY/MM/DD',
maxDate: moment().add(15, 'days'),
calender_style: "picker_1"
}, function (start, end, label) {
console.log(start.toISOString(), end.toISOString(), label);
});
</script>
Edit Note: I have updated the script for date picker i use. I am using Parsleyjs for all validations.
I have a form with date picker input field which asks for value even after the date is chosen.
note: This error doesn't e when i type the value.
<input data-parsley-trigger="change" name="epa_date" required type="text" class="form-control" id="single_cal1" placeholder="(YYYY/MM/DD)">
<script>
$('#single_cal1').daterangepicker({
singleDatePicker: true,
minDate: moment(),
format: 'YYYY/MM/DD',
maxDate: moment().add(15, 'days'),
calender_style: "picker_1"
}, function (start, end, label) {
console.log(start.toISOString(), end.toISOString(), label);
});
</script>
Edit Note: I have updated the script for date picker i use. I am using Parsleyjs for all validations.
Share Improve this question edited Oct 24, 2015 at 5:06 J Ramesh Fernandez asked Oct 24, 2015 at 4:59 J Ramesh FernandezJ Ramesh Fernandez 3091 gold badge8 silver badges22 bronze badges 4- validation is there? – CodeLove Commented Oct 24, 2015 at 5:01
- Show more code, please – Olavi Sau Commented Oct 24, 2015 at 5:02
- @CodeLove Yes, Validation is there even after the required input is filled. – J Ramesh Fernandez Commented Oct 24, 2015 at 5:08
- To be clear, your issue is that the validation isn't triggered when the value is typed on the input? That might have something to do with the datepicker ponent. Can you provide a fiddle that replicates your issue and a detailed description of your issue ? – Luís Cruz Commented Oct 24, 2015 at 20:49
5 Answers
Reset to default 9I ran into the issue w/ the bootstrap-datepicker and this fixed the issue for me: https://bootstrap-datepicker.readthedocs.io/en/latest/events.html
$('#datefield').datepicker()
.on('changeDate', function(e) {
$(this).parsley().validate();
});
I am using the DatePicker with Parsley 2.0, and this worked for me (thanks @siva anand)..
$(function() {
$("#yourdatefield").datepicker({
dateFormat: 'yy-mm-dd',
onClose: function () {
$(this).parsley().validate();
}
});
and then in the parsley field..
'data-parsley-trigger' => 'change focusout',
Try this, i have triggered the parsley again in daterangepicker. It worked for me.
<input data-parsley-trigger="change" name="epa_date" required type="text" class="form-control" id="single_cal1" placeholder="(YYYY/MM/DD)">
<script>
$('#single_cal1').daterangepicker({
singleDatePicker: true,
minDate: moment(),
format: 'YYYY/MM/DD',
maxDate: moment().add(15, 'days'),
calender_style: "picker_1"
}, function (start, end, label) {
$('#single_cal1').parsley().validate();
console.log(start.toISOString(), end.toISOString(), label);
});
</script>
Hope it helps..
When you initialize parsley, add change to triggerAfterFailure, so when you pick a date or change the date, parsley will revalidate. The default for triggerAfterFailure is input.
$('form.parsley').parsley({
triggerAfterFailure: 'input change'
});
According to this bug report, it looks like the validation has to be triggered manually on change. The following worked for me:
var d = $('#single_cal1');
d.daterangepicker({
onClose: function() {
d.validate();
}
});