我有一个表单,我在其中添加了一些验证设置,当我尝试提交表单时,Firefox 抛出太多递归错误。
此代码在 Chrome 和 Internet Explorer 上运行良好。
有关如何解决此问题的任何建议。
var validationSettinsgs = {
rules: {
CustomerName: {
required: true,
pattern: '[أ-يa-zA-Z\\s]{1,100}',
normalizer: trimInputFieldValue
},
DropDownListProblem: {
required: function () {
return $("#DropDownListCaseType").val() == 3
},
normalizer: trimInputFieldValue
}
},
messages: {
CustomerName: {
required: "Please Enter Your full name",
pattern: 'Please check Your full name'
},
DropDownListProblem: {
required: 'Please select The Problem'
}
},
highlight: function (element, errorClass, validClass) {
$(element).prop('id')
setValidationForm(element)
},
unhighlight: function (element, errorClass, validClass) {
removeValidationForm(element)
},
submitHandler: function (form) {
form.submit();
}
}
var validator = $("#form").validate(validationSettinsgs)
$("#form").on('submit', () => {
viewErrorMsgs();
})
function viewErrorMsgs() {
var done = true;
console.log(validator.invalid);
for (const key in validator.invalid) {
if (Object.hasOwnProperty.call(validator.invalid, key)) {
if (validator.invalid[key]) {
done = false
break;
}
}
}
if (!done) {
$('.needs-validation').addClass('was-validated')
}
}
有关如何解决此问题的任何建议。
setValidationForm(element)
有什么作用?这看起来很可能是递归的候选者,因为它最终可能会在这里调用自己。正如评论中提到的,发布您的堆栈跟踪会很有帮助