【问题标题】:jQuery Validation plugin - Validating hidden inputs and not visible? [duplicate]jQuery Validation plugin - 验证隐藏的输入并且不可见? [复制]
【发布时间】:2011-10-31 10:00:39
【问题描述】:

如何使用 jQuery 表单验证插件验证隐藏的输入和不可见的文本输入?问题是,我正在使用自动建议插件,它为所选项目生成隐藏输入:

<input id="hiddenInput" type="hidden" name="something" value="1" />

我有 2 个这样的输入(它们都只允许 1 个项目),我想验证并在父 &lt;td&gt; 中显示错误。 这是我到目前为止所得到的,但如果该值实际上是一个数字,它不会显示错误或提交表单。

$("#form1").validate({
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
        })

【问题讨论】:

标签: jquery jquery-validate


【解决方案1】:

要允许验证隐藏元素,请覆盖忽略并将其设置为空字符串:

$("#form1").validate({
    ignore: "",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

【讨论】:

  • 你试过了吗?因为当我使用忽略时这会出错:“”。 Uncaught TypeError: Cannot read property 'settings' of undefined
  • 默认情况下,在过去几年中,此插件将忽略(不验证)所有隐藏字段。告诉插件忽略任何内容并验证所有内容的正确格式是ignore: []
【解决方案2】:

您可以像这样使用ignore 选项:

$("#form1").validate({
    ignore: "input[type='text']:hidden",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

ignore 选项的默认值为:hidden,它会忽略所有隐藏字段和不可见字段(display: none 等)

【讨论】:

  • 仍然没有验证。我向隐藏的输入添加了一条规则并确保它无效,但它仍然提交表单并且根本没有显示任何错误!
  • @EmreErkan 文档链接现已关闭。
【解决方案3】:

如果其他答案对您不起作用,请改用此方法。它删除了表单的所有忽略,因此它将验证包括隐藏字段在内的所有内容:

$.data($('form')[0], 'validator').settings.ignore = "";

要恢复设置以忽略隐藏字段,请使用以下内容:

$.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";

您也可以使用上面的代码读回当前值。

【讨论】:

  • 我已经尝试过了,但它对我不起作用。它给了我TypeError: $.data(...) is undefined,我检查了$,它是正确的jQuery 对象。这是另一个答案stackoverflow.com/a/8565769/1027198
  • 奇怪的是,您的解决方案是唯一对我有用的解决方案 - 其他答案都没有。
  • 确认使用 Aspnet Core 3.1 MVC 应用程序
【解决方案4】:

另一种验证隐藏输入的方法是:

$("#form1").validate({
        ignore: "not:hidden",
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
});

【讨论】:

    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多