Parsleyjs日期验证在Onchange之类的Datepicker事件上不起作用

问题描述 投票:1回答:5

我有一个带有日期选择器输入字段的表单,即使选择了日期,它也会要求输入值。

注意:键入值时不会出现此错误。

enter image description here

<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进行所有验证。

javascript jquery validation datepicker parsley.js
5个回答
7
投票

我遇到了带有bootstrap-datepicker的问题,这为我解决了这个问题:https://bootstrap-datepicker.readthedocs.io/en/latest/events.html

$('#datefield').datepicker()
    .on('changeDate', function(e) {
        $(this).parsley().validate();
});

2
投票

尝试一下,我在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>

希望有帮助。.>


2
投票

我正在将DatePickerParsley 2.0一起使用,这对我有用(感谢@siva anand)。


0
投票

根据this bug report,看来必须在更改时手动触发验证。以下为我工作:


0
投票

初始化欧芹时,将更改添加到triggerAfterFailure,因此当您选择一个日期或更改日期时,欧芹将重新生效。输入的默认值为triggerAfterFailure。

© www.soinside.com 2019 - 2024. All rights reserved.