【发布时间】:2017-08-30 23:47:51
【问题描述】:
我了解到 IE 在使用 jQuery Validate Plugin (https://jqueryvalidation.org/) 验证日期方面存在一些问题。
我的规则是 starttime: {required: true, date: true},但我的格式是 DD-MMM-YYYY hh:mm a,即 2017 年 8 月 31 日上午 9:43。
这适用于其他浏览器,但 IE 说这是一个无效的日期。请注意,验证正在处理其他字段。
这里有一些很好的答案:Custom date format with jQuery validation plugin 但具体来说,我如何在 IE 中验证我的日期格式?
我的猜测是我需要添加一个自定义方法,但它应该是什么?正则表达式或自定义日期,以及如何?我可以使用 RegEx 验证日期格式而不验证日期本身(例如 32/01/2017),因为此页面使用日期选择器并且用户无法直接输入数据。
编辑(包括实际代码):
<script type="text/javascript" src="js/plugins/jquery-validate/jquery.validate.min.js"></script>
<script>
$(document).ready(function(){
if ($("#newinspectionform").length > 0) {
var validate = $("#newinspectionform").validate({
errorClass: "has-error",
validClass: "",
errorElement: "span",
ignore: [],
errorPlacement: function (error, element) {
$(element).after(error);
$(element).parents(".form-group").addClass("has-error");
},
highlight: function (element, errorClass) {
$(element).parents(".form-group").removeClass("has-success").addClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".form-group").removeClass(errorClass).addClass(validClass);
},
rules: {
propertyid: {required: true},
type: {required: true},
starttime: {required: true, date: true},
endtime: {required: true, date: true}
}
});
}
... other stuff
</script>
【问题讨论】:
-
是的 - 有一些这样的,但不幸的是,这些解决方案对这种情况没有帮助。
标签: jquery validation date internet-explorer