我有一个带有日期选择器输入字段的表单,即使选择了日期,它也会要求输入值。
注意:键入值时不会出现此错误。
<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>
编辑注:我已经为我使用的日期选择器更新了脚本。我正在使用Parsleyjs进行所有验证。
我遇到了带有bootstrap-datepicker的问题,这为我解决了这个问题:https://bootstrap-datepicker.readthedocs.io/en/latest/events.html
$('#datefield').datepicker()
.on('changeDate', function(e) {
$(this).parsley().validate();
});
尝试一下,我在daterangepicker中再次触发了香菜。它对我有用。
<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>
希望有帮助。.>
我正在将DatePicker与Parsley 2.0一起使用,这对我有用(感谢@siva anand)。
根据this bug report,看来必须在更改时手动触发验证。以下为我工作:
初始化欧芹时,将更改添加到triggerAfterFailure,因此当您选择一个日期或更改日期时,欧芹将重新生效。输入的默认值为triggerAfterFailure。