jQuery验证和自定义id
我使用jquery验证,当我像这样验证时jQuery验证和自定义id,jquery,jquery-validate,Jquery,Jquery Validate,我使用jquery验证,当我像这样验证时 $("#form").validate({ // errorLabelContainer: $("div#error"), errorElement: "p", errorClass: "form-error", rules: { name: { required: true,
$("#form").validate({
// errorLabelContainer: $("div#error"),
errorElement: "p",
errorClass: "form-error",
rules: {
name: {
required: true,
minlength: 5
}
}
});
$("#form").validate({
// errorLabelContainer: $("div#error"),
errorElement: "p",
errorClass: "form-error",
rules: {
x.child.1.0.t: {
required: true,
minlength: 5
}
}
});
一切正常,但是如果我有像这个x.child.1.0.t这样的div id,我必须使用这样的东西
$("#form").validate({
// errorLabelContainer: $("div#error"),
errorElement: "p",
errorClass: "form-error",
rules: {
name: {
required: true,
minlength: 5
}
}
});
$("#form").validate({
// errorLabelContainer: $("div#error"),
errorElement: "p",
errorClass: "form-error",
rules: {
x.child.1.0.t: {
required: true,
minlength: 5
}
}
});
这不管用,怎么办 像字符串一样将其放在“或”中,不要忘记使用名称attr
验证规则将元素与验证方法相关联,例如将名为primary mail的输入验证为所需的方法和电子邮件。
具有复杂名称的字段括号、点
如果表单包含的字段使用的名称不是合法的JavaScript标识符,则在使用规则选项时必须引用这些名称:
像字符串一样将其放入“或”中,不要忘记使用名称attr
验证规则将元素与验证方法相关联,例如将名为primary mail的输入验证为所需的方法和电子邮件。
具有复杂名称的字段括号、点
如果表单包含的字段使用的名称不是合法的JavaScript标识符,则在使用规则选项时必须引用这些名称:
…但是如果我有像x.child.1.0.t这样的div id。。。不起作用了
你必须做两件事
使用输入的name属性,而不是id。默认情况下,.validate插件查找的是输入的name属性,而不是其id
将名称放在.validate选项的引号内
HTML:
…但是如果我有像x.child.1.0.t这样的div id。。。不起作用了
你必须做两件事
使用输入的name属性,而不是id。默认情况下,.validate插件查找的是输入的name属性,而不是其id
将名称放在.validate选项的引号内
HTML:
如果要通过id而不是名称进行验证,则必须执行以下操作:
$("form").validate({
errorElement: "p",
errorClass: "form-error"
});
// This part is ugly because of your strange id
$("#x\\.child\\.1\\.0\\.t").rules("add", {
required: true,
minlength: 5
});
演示:
产生反斜杠的原因是你必须逃避现实。characters或者jQuery/Sizzle认为它是一个类选择器
一般来说,最好避免这样的id值,因为javascript和css会出现问题。如果可能,请坚持使用字母数字破折号和下划线。如果要按id而不是名称进行验证,则必须执行以下操作:
$("form").validate({
errorElement: "p",
errorClass: "form-error"
});
// This part is ugly because of your strange id
$("#x\\.child\\.1\\.0\\.t").rules("add", {
required: true,
minlength: 5
});
演示:
产生反斜杠的原因是你必须逃避现实。characters或者jQuery/Sizzle认为它是一个类选择器
一般来说,最好避免这样的id值,因为javascript和css会出现问题。如果可能的话,请使用alphanum破折号和下划线。默认情况下,.validate插件查找的是输入的name属性,而不是它们的id。你说得对,这是主要问题,按名称来说,一切都正常:在测试时,我有相同的id和名称,但在生产中它们不同。谢谢这是一个非常奇怪的id或名称值。如果这是你的主要问题,为什么不接受我的回答呢?因为我是第一个在评论和回答中指出这一点的人?我甚至在里卡多补充他的观点之前向他指出了这一点不管怎样都不用担心,我很高兴你解决了这个问题。啊,对不起,我以为里卡多是第一个,没问题,现在给你做了标记:也许你知道如何通过通配符添加规则?当我有x.child.1.0.t、x.child.2.0.s、x.child.1.0.z时,默认情况下,.validate插件会查找输入的name属性,而不是它们的id。你说得对,这是主要问题,按名称来说,一切都正常:在测试时,我有相同的id和名称,但在生产中它们不同。谢谢这是一个非常奇怪的id或名称值。如果这是你的主要问题,为什么不接受我的回答呢?因为我是第一个在评论和回答中指出这一点的人?我甚至在里卡多补充他的观点之前向他指出了这一点不管怎样都不用担心,我很高兴你解决了这个问题。啊,对不起,我以为里卡多是第一个,没问题,现在给你做了标记:也许你知道如何通过通配符添加规则?但是,当我有x.child.1.0.t、x.child.2.0.s、x.child.1.0.z?@WesleyMurch时,它在寻找name属性,而jsFiddle没有它就中断了@Sparky是的,也许OP正在这样做。OP明确地说,…但是如果我有像这样的div id…@WesleyMurch,它正在寻找name属性,而jsFiddle没有它就中断了@Sparky是的,也许OP正在这么做。OP特别说,…但是如果我有像这样的部门id。。。