IE8-11,bootstrap-datetimepicker,控件有值,但无法通过验证

来源:互联网 发布:controlcenter软件下载 编辑:程序博客网 时间:2024/06/04 18:40

闲话不多说

问题描述:上图,bootstrap-datetimepicker明明有值,却提示必须填写,而且明显是客户端验证不通过,不是服务器端,因此主要查看jquery.validate.js,


解决方法:

问题根本其实是jquery.min.js和jquery.validate.js的版本对应关系问题,

原来是jquery.validate.js解析bootstrap-datetimepicker中时间值出现问题;因此需要加入

<!--[if lt IE 9]>
        <script type="text/javascript">
            $(function () {
                $.validator.methods.date = function(value, element) {
                    return this.optional(element) || !/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(new Date(value).toString());
                };
            });
        </script>
    <![endif]-->

但经测试IE11也有该问题,因此要去掉IE版本的判断,最终解决为

<script type="text/javascript">
            $(function () {
                $.validator.methods.date = function(value, element) {
                    return this.optional(element) || !/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(new Date(value).toString());
                };
            });
        </script>







原创粉丝点击