当我添加嵌套在主窗体中的图像上传表单时,我不得不重构网页,因为这是不可能的。外部表单被转换为带有'item'类的元素和onClick的提交按钮我使用选择器序列化这些
form = $(".item").serialize();
但是我现在再次重构以使用jquery validate插件,我想知道我是否能够以某种方式使用此选择器而不是表单本身(在那里不再存在)。
我在想这样的事情:
$(".item").validate(
{
rules: {
summary: {
validateSummary: true
}
..........etc etc
这似乎不起作用,但理论是我将序列化匹配的'.item'元素,然后将自定义验证应用于此列表中与名称匹配的元素(就像我假设表单一样序列化会起作用。)
我已经看到了validate插件附带的classRules选项,但是它看起来像是按类对自定义验证进行分组,实际上我只想对此进行'普通'表单验证我使用选择器而不是#form
答案 0 :(得分:1)
老实说,我无法遵循所有DOM操作背后的推理,但在这种情况下,我没有必要。
要使用jQuery Validate插件,您的输入元素必须位于一组form
标记内。此要求没有解决方法。
答案 1 :(得分:0)
验证必须在提交表单之外的字段的一种方法(无论出于何种原因 - 有时这是一个很好的理由,有时候不是),将使用表单中的隐藏字段,即使你感兴趣的真实领域不在形式之内。
在验证之前,将隐藏字段的值设置为表单外部元素的值。然后调用表单上的validate插件(比如Sparky说,你必须在表单上调用它),如果你有这个忽略设置,它将验证隐藏字段:
$('#myform').validate({
ignore: [],
// any other options and/or rules
});