请帮忙......
我很难找到为什么在按下删除或退格键时不会触发我的jquery valitdator方法。以下是我的代码,请提供宝贵的建议来解决这个问题。
jQuery.validator.addMethod("checkBlankContactNos", function (value, element) {
...............
// some business logic to validate if the textbox is null or not null..
...........
...........
}, "Required. Please enter a number");
并添加了一个类规则..
jQuery.validator.addClassRules({
planningFieldContactNo:{
required: false,
digits: false,
contactNoRegex: true,
checkDuplicateContactNos: true,
checkBlankContactNos: true
}
});
下面我在提交表单之前验证 -
$("#customer").validate({
ignore: [],
rules: {
name: {
required: true,
customerNameRegex: true,
remote: {
url: "${checkCustomerNameUrl}",
type:"get",
data: {
custid: function() {
return $("#customerId").val();
}
}
}
}
},
messages: {
name:
{
required: "Please specify a customer name",
customerNameRegex: "Invalid characters. Allowed characters include a-z A-Z 0-9 and [] () & space . _ -",
remote: "Customer name already exists"
}
},
submitHandler: function() {
},
success: function(label) {
},
invalidHandler: function(e,validator) {
},
onkeyup: false,
//onfocusout: true,
//onclick: false,
onsubmit: false
});
请建议..
谢谢,Sirish。
答案 0 :(得分:1)
这是我修复它的方式..我已经改变了
onkeyup:true,
到
onkeyup: function(element) {$(element).valid()},
这就解决了我的问题。
非常感谢, Sirish。
答案 1 :(得分:0)
引用标题: “按下退格或删除时未调用jQuery Validator方法”
那是因为你已经用这个禁用了关键事件......
onkeyup: false,
默认行为为onkeyup
,因此您只需完全删除该行。
onkeyup
类型:布尔值或函数()
确认keyup上的元素。只要该字段未标记为无效,就不会发生任何事情。 否则,将在每个按键事件上检查所有规则。设为false
禁用。设置为函数以自行决定何时运行 验证布尔值
true
不是有效值。
换句话说......
onkeyup
选项。 (默认)onkeyup
设为false
。onkeyup
设置为您的覆盖功能。