【发布时间】:2011-11-17 04:27:36
【问题描述】:
我在 MVC 视图上使用验证。我在模型的其他属性(如Required和Length)上使用了一些数据注释,但我需要编写一个如下所示的自定义验证器来比较日期。
$(document).ready(function(){
$.validator.addMethod("enddate", function(value, element) {
var startdatevalue = $('.startdate').val();
return Date.parse(startdatevalue) < Date.parse(value);
}, "End Date should be greater than Start Date.");
});
我将“enddate”类添加到文本框中,以便验证。但是,验证不会按预期触发。在我的场景中,它应该像其他验证器一样在单击提交按钮时触发,但是,当我从文本框中失去焦点时,自定义验证器会触发。当其他验证发生时,有什么方法可以让自定义验证器触发。此外,验证摘要中不会报告错误,但验证器会触发并将文本框的颜色更改为红色。
【问题讨论】:
-
提交表单时可以调用 $(form).valid() 或 $(form).validate()。
-
我认为有些混乱。我说其余的验证器已经在点击提交按钮时触发了。这就是我希望这个自定义验证器的行为方式。然而,事实并非如此,它会在文本框失去焦点时触发。谢谢。
标签: jquery asp.net-mvc asp.net-mvc-3 jquery-validate