防止在特定表单上进行不显眼的验证

时间:2013-04-13 11:27:21

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

我有一个表单,我想用jQuery不引人注意的验证。一切正常。

但我在该视图上还有其他表单,如搜索表单,登录表单等,并且插件也附加到所有这些表单,我不想要这个

如何明确说明插件应该附加哪些表单,哪些不是?

2 个答案:

答案 0 :(得分:2)

我认为你有两个选择,因为这个选项不是开箱即用的。

  1. 编辑不引人注目的插件的来源
  2. 取消绑定您不希望验证的表单上的验证程序。
  3. 我会选择1.我并不是100%肯定你会如何做2,尽管我记得在SO上看到了一些关于它的事情。

    因此,如果您查看第203行周围的(未经过管理的)jquery.validate.unobtrusive.js文件,您会看到:

    var $forms = $(selector)
        .parents("form")
        .andSelf()
        .add($(selector).find("form"))
        .filter("form");
    

    我会改为

    var $forms = $(selector)
        .parents("form.include")
        .andSelf()
        .add($(selector).find("form.include"))
        .filter("form.include");
    

    所以这只会验证类'include'

    的表单

答案 1 :(得分:0)

您可以使用

销毁特定表单的验证器实例

$("#[form_Id]").data("validator").destroy();

https://jqueryvalidation.org/Validator.destroy/