我学会了IE浏览器在使用jQuery Validate Plugin(https://jqueryvalidation.org/)验证日期时遇到的一些问题。jQuery .validate - 在Internet Explorer中验证日期
我的规则只是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或自定义日期,以及如何?对于RegEx验证日期的格式而不验证日期本身(例如32/01/2017),我确定,因为此页面使用日期选择器,并且用户无法直接输入数据。
EDIT(包括实际的代码):
<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>
你检查了这个? https://stackoverflow.com/questions/4809451/date-validator-on-datepicker-trigger-false-negatives-in-ie7-ie8 –
是的 - 有一些这样的,但不幸的是这些解决方案并没有帮助这种情况。 – Warren