验证预填充的jQuery表单(在第一个字段clear,ASP.NET和unobtrustive上无效)

时间:2011-06-08 15:32:22

标签: jquery asp.net-mvc jquery-validate unobtrusive-validation

我有一个可以填写,保存,加载和重新编辑的表单。

加载并重新编辑时,它的生命可能有效。 当一个字段在加载时有效时,我希望它在编辑时违反规则立即失效。这是我的问题,简而言之,我怀疑这是由一些配置选项支持我不能找到。


目前,只有在以下情况之后才能正常工作(上述方式):1)编辑它,2)然后该字段在有效时失去焦点,3)然后再次编辑它。因此,需要额外有效的失去焦点来可视化预填表格的错误。

如果加载时为空(例如第一次访问),则不应显示错误。

我已在我的框架中使用以下内容:

  • jQuery.validate('已批准的',以及我的问题的重点)
  • 用于ASP.NET MVC 3的jQuery不显眼的验证适配器

我目前没有运行任何自定义代码来激活它,因为'unobtrusive'适配器初始化验证(但我很乐意,为了解决这个问题)。我已尝试在页面加载时添加'form.valid()',但它不能解决上述问题,实际上会破坏更多内容。

谢谢, 香农

3 个答案:

答案 0 :(得分:1)

我已经深入了解验证插件,并为我认为是缺陷的打开了一张票。

https://github.com/jzaefferer/jquery-validation/issues/146

香农

答案 1 :(得分:0)

每次更改输入时,您都可以尝试手动验证表单。

$(":input").live("change", function(){
    form.validate();
})

通过查看文档,您似乎无法在未先调用form.valid()的情况下致电form.validate();

答案 2 :(得分:0)

这个构造函数适用于我:

$('form').validate({
    onfocusout: function(element) {
       this.element(element);
    }, ...
});