JQuery-Validation - 对选定的ID使用规则方法,为什么name属性必须出现在元素上?

Mik*_*ike 2 jquery jquery-validate name-attribute

我对JQuery验证插件行为有点困惑.

如果我有以下JQuery:

$('#form1').validate({
    /* other validation */
});

$('#txt1').rules("add",
{
    required: true,
    messages: { required: 'This is required!' }
});
Run Code Online (Sandbox Code Playgroud)

和以下文本输入,具有id但没有name属性:

<input type="text" id="txt1"/>
Run Code Online (Sandbox Code Playgroud)

文本框中不会弹出所需的消息.

但是,如果我添加名称属性:

<input type="text" id="txt1" name="anything"/>
Run Code Online (Sandbox Code Playgroud)

它验证它很好.

这是为什么?由于我在ID选择器上使用规则("添加",规则)方法,为什么它需要name属性才能将规则与元素相关联?感谢您的任何见解!

Ror*_*san 9

name元素首先需要一个属性,因为这是jQuery validate在内部用作每个字段的键的内容,其次是因为元素name需要该属性input以确保页面验证指定的DOCTYPE.