变量作为字段名 jquery 验证规则
Variable as field name jquery validate rules
我目前正在使用 jquery 验证规则插件,我 运行 遇到了以下问题。虽然我的一些输入字段具有静态 ID。有些字段是动态生成的,因此 ID 不是静态的。不幸的是,我无法控制生成的 ID。我可以使用 .each 循环获取 ID,但我如何将 ID 变量传递给规则以进行验证。有没有办法在字段名称中使用变量?如果只是需要这些字段,我会使用不同的方法,但是我需要对输入进行正则表达式检查。
$j('form').validate({
rules:{
txtFirstName: 'required',
txtLastName: 'required',
txtEmail: 'required',
randomIdFieldVariable: 'Regex check"
}
);
您不能在 .validate()
方法中使用元素 id
,也不能使用变量代替字段 name
。
$('#myform').validate({
rules: {
fieldname: { // <- MUST be the 'name' attribute of the element
required: true
}
}
});
但是,当元素name
未知时,还有其他添加规则的方法。
某些可以通过布尔值声明的规则可以声明为 class
.
<input type="text" name="foo" class="required" />
某些规则也作为 HTML 5 属性存在,只需在输入元素上包含 HTML 5 属性即可声明。
<input type="text" name="foo" required="required" />
这可能对您有用,因为 jQuery 验证插件将使用名为 pattern
的 HTML 5 验证属性。 pattern
的值是一个正则表达式。参见:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input
您可以使用 任何 jQuery 选择器 将 the jQuery Validate plugin' .rules('add')
method 附加到 jQuery .each()
.您不必事先知道 name
,但用于验证的所有元素 必须 仍包含唯一的 name
属性。
$('.myClass').each(function() {
$(this).rules('add', {
required: true,
messages: { // <- optional
required: "optional custom message"
}
});
});
我目前正在使用 jquery 验证规则插件,我 运行 遇到了以下问题。虽然我的一些输入字段具有静态 ID。有些字段是动态生成的,因此 ID 不是静态的。不幸的是,我无法控制生成的 ID。我可以使用 .each 循环获取 ID,但我如何将 ID 变量传递给规则以进行验证。有没有办法在字段名称中使用变量?如果只是需要这些字段,我会使用不同的方法,但是我需要对输入进行正则表达式检查。
$j('form').validate({
rules:{
txtFirstName: 'required',
txtLastName: 'required',
txtEmail: 'required',
randomIdFieldVariable: 'Regex check"
}
);
您不能在 .validate()
方法中使用元素 id
,也不能使用变量代替字段 name
。
$('#myform').validate({
rules: {
fieldname: { // <- MUST be the 'name' attribute of the element
required: true
}
}
});
但是,当元素name
未知时,还有其他添加规则的方法。
某些可以通过布尔值声明的规则可以声明为
class
.<input type="text" name="foo" class="required" />
某些规则也作为 HTML 5 属性存在,只需在输入元素上包含 HTML 5 属性即可声明。
<input type="text" name="foo" required="required" />
这可能对您有用,因为 jQuery 验证插件将使用名为
pattern
的 HTML 5 验证属性。pattern
的值是一个正则表达式。参见:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input您可以使用 任何 jQuery 选择器 将 the jQuery Validate plugin'
.rules('add')
method 附加到 jQuery.each()
.您不必事先知道name
,但用于验证的所有元素 必须 仍包含唯一的name
属性。$('.myClass').each(function() { $(this).rules('add', { required: true, messages: { // <- optional required: "optional custom message" } }); });