升级到jQuery版本1.8.2后,我的验证插件(最新版本1.10.0)开始给我例外:
错误:语法错误,无法识别的表达式:div class =“warningZone”jquery.js(第4679行)
这是我的javascript:
function validateAll() {
$("#servicesForm").validate({
errorLabelContainer: "#servicesErrors",
wrapper: "div class=\"warningZone\"",
rules: {
mainTransport: { mMainTransportReq: true, mMainTransportNotReq: true },
stay: { mStayReq: true }
},
messages: {
mainTransport: {
mMainTransportReq: $("#servicesMainTransportReq").text(),
mMainTransportNotReq: $("#servicesMainTransportNotReq").text()
},
stay: { mStayReq: $("#servicesStayReq").text() }
}
});
$("#servicesForm").valid();
validatePeriods();
validateServices();
}
为什么我的班级warningZone
开始抛出异常?
答案 0 :(得分:1)
如果您删除上面的wrapper
和errorLabelContainer
选项,则可以设置默认值并覆盖showErrors
功能:
$.validator.setDefaults({
showErrors: function(errorMap, errorList) {
if (errorList.length < 1) {
// clear the error if validation succeeded
$('div.warningZone').remove();
return;
}
$.each(errorList, function(index, error) {
$('div.warningZone',"#servicesErrors").remove();
$('#servicesErrors').append(
$('<div/>')
.addClass('warningZone')
.append(error.message)
);
});
}
});