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

时间:2017-12-20 04:37:04

标签: javascript jquery html validation 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,因为我担心我的用户会输入不同的日期格式。所以任何人都知道如何解决我的问题?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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