Sco*_*ott 9 asp.net-mvc jquery unobtrusive-javascript
我使用MVC DataAnnotations和jQuery不引人注目的javascript库编写了一个自定义验证器.它工作得很好.我现在唯一的问题是,在初始验证之后,如果用户编辑了该字段,则它会在每次击键时触发验证器.由于验证器访问Web服务以验证输入,我宁愿它只是在用户离开字段或提交表单时验证输入.有没有办法改变这种行为?这是我的代码:
<script type="text/javascript">
$.validator.addMethod("validate_zipcode", function (value, element) {
if (value == null || value.length == 0) {
return true;
}
var isValid = false;
$.ajax({
async: false,
dataType: "json",
url: "/api/iszipvalid/" + value,
success: function (response) {
isValid = response;
}
});
return isValid;
});
$.validator.unobtrusive.adapters.addBool('zipcode', 'validate_zipcode');
</script>
Run Code Online (Sandbox Code Playgroud)
And*_*ker 10
我不肯定这将与ASP.NET MVC一起使用(稍后我将启动一个测试项目),但validate允许您为所有验证实例设置默认值,如下所示:
$.validator.setDefaults({ onkeyup: false });
Run Code Online (Sandbox Code Playgroud)
如果你可以在MVC获得句柄之前添加该行,validate它可能会起作用,但它将禁用onkeyup所有形式的所有字段(根据你的帖子判断,似乎这样就可以了).
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |