jQuery DatePicker阻止手动输入并在验证时需要

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery DatePicker阻止手动输入并在验证时需要相关的知识,希望对你有一定的参考价值。

我知道这个问题部分已经在答案中使用readonly如果你不希望用户不允许在datepicker上输入手册,但我的问题是,我想让这些输入也得到验证。这是我的代码

<input type="text" id="closed" name="closed" class="form-control datepicker" readonly/>

在这里我的javascript

$("#formkarir").validate({
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if (element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    },
    rules: {
        "closed": {
            required: true
        }
    },
    messages: {
        "closed": {
            required: "Please, input expired recruitment job"
        }
    }
});

但是当那个closed是空值而我按下按钮时它没有显示消息。当我清除readonly closed,正在工作它显示消息。但我的问题是,我不想我的输入closed得到手动输入。我怎样才能做到这一点?

我正在使用readonly,因为我担心我的用户会输入不同的日期格式。所以任何人都知道如何解决我的问题?

答案

有一种解决方法只有在字段获得焦点时才会使其成为只读,并在它们离开后将其删除:How can I enable jquery validation on readonly fields?

另一种选择是使用regex:https://www.w3schools.com/tags/att_input_pattern.asp设置html字段输入格式

另一种选择是在验证时手动迭代所有字段。上面的链接也应该尝试这一点。

另一答案

好吧,我找到了soltuion,并且有点傻,所以我只是重新调整我的插件引导程序日期选择器不允许添加/编辑手动日期,他们必须选择一个日期。所以不需要readonly。感谢帮助我,并尝试编辑我的答案,以提出更好的问题。 :)

以上是关于jQuery DatePicker阻止手动输入并在验证时需要的主要内容,如果未能解决你的问题,请参考以下文章

Jquery datepicker - 手动触发

如何解决 jQuery UI Datepicker 的手动日期输入?

在 jquery datepicker 重置为当前日期之前捕获手动输入的日期,同时使用 Max Date 进行限制

jquery datepicker 阻止本地点击 onSelect

在 jquery 中使用 .change() 和 datepicker 提交表单

jQuery UI Datepicker 字段不允许手动更改