【发布时间】:2013-07-31 12:49:07
【问题描述】:
我正在使用 jQuery Validate 插件,我想做的事情应该相对容易,但我无法让它工作。
我有一个input 字段,它不是必填/必填字段。如果没有在该字段中输入任何内容,我不想在该字段上运行任何形式的验证。如果表单字段发生更改并包含我想要验证的任何输入,例如仅数字,但如果该字段为空白,请删除/不验证。
我试着做这样的事情:
valForm('excessFrm');
var vou = $('input[name="voucher"]');
vou.blur(function(){
if($(this).val() == ''){
( "#voucher" ).rules( "remove" );
} else {
( "#voucher" ).rules( "add", {
number: true
});
}
})
但是无论我把它放在我的代码中的什么地方,我都会收到这个错误:
Uncaught TypeError: Object #voucher has no method 'rules'
即使我确定 validate() 对象已启动,valForm() 函数也会调用验证对象并设置我的所有默认规则等。
有没有人可以给点建议?
【问题讨论】:
-
你确定你使用的是验证插件吗?请参阅此示例源 codeproject.com/Articles/213138/…
-
是的。表单上的其他字段验证正常。我只是在想,在应用 .blur 函数之前,验证可能没有实例化。因此验证对象不存在。你知道验证插件有没有回调吗?
-
不知道哥们....你能试试 onfocusout 事件吗?在这里查看小提琴jsfiddle.net/tigerfinch/J8DvX/8
-
我可能有另一种解决方法。感谢您的反馈。
-
这不可能是完整/简洁的工作示例的所有代码。请显示您的其余代码。您的 HTML 标记在哪里?
.validate()在哪里?