jquery使用选择器而不是表单验证表单插件

时间:2013-10-21 21:57:49

标签: jquery jquery-validate jquery-forms-plugin

当我添加嵌套在主窗体中的图像上传表单时,我不得不重构网页,因为这是不可能的。外部表单被转换为带有'item'类的元素和onClick的提交按钮我使用选择器序列化这些

form = $(".item").serialize();

但是我现在再次重构以使用jquery validate插件,我想知道我是否能够以某种方式使用此选择器而不是表单本身(在那里不再存在)。

我在想这样的事情:

$(".item").validate(
{
   rules: {
         summary: {
              validateSummary: true
         }
    ..........etc etc

这似乎不起作用,但理论是我将序列化匹配的'.item'元素,然后将自定义验证应用于此列表中与名称匹配的元素(就像我假设表单一样序列化会起作用。)

我已经看到了validate插件附带的classRules选项,但是它看起来像是按类对自定义验证进行分组,实际上我只想对此进行'普通'表单验证我使用选择器而不是#form

2 个答案:

答案 0 :(得分:1)

老实说,我无法遵循所有DOM操作背后的推理,但在这种情况下,我没有必要。

要使用jQuery Validate插件,您的输入元素必须位于一组form标记内。此要求没有解决方法。

答案 1 :(得分:0)

验证必须在提交表单之外的字段的一种方法(无论出于何种原因 - 有时这是一个很好的理由,有时候不是),将使用表单中的隐藏字段,即使你感兴趣的真实领域不在形式之内。

在验证之前,将隐藏字段的值设置为表单外部元素的值。然后调用表单上的validate插件(比如Sparky说,你必须在表单上调用它),如果你有这个忽略设置,它将验证隐藏字段:

$('#myform').validate({
        ignore: [],
        // any other options and/or rules
    });