简单的jQuery验证插件问题

时间:2013-04-29 20:32:41

标签: jquery jquery-validate

我无法使用简单的jQuery验证示例。这个小提琴如何被修改以使字段在失去焦点时进行验证?

http://jsfiddle.net/jeljeljel/wyB3w/2/

HTML

<div id="pseudoForm">
    <input type="text" name="first_name" />
    <input type="text" name="last_name" />
</div>

JS

$("#pseudoForm").validate({
    onfocusout: true,
    rules: {
        first_name: "required",
        last_name: "required"
    }
});

3 个答案:

答案 0 :(得分:3)

您的脚本+标记似乎有很多问题,

  1. 输入元素必须位于表单内。
  2. 输入元素必须有一个id才能使用你的代码(它引起了我的注意,受到尊敬的家伙; Sparky,这不是一个要求)< / LI>
  3. 如上所述,您错过了}
  4. jQuery validate适用于表单
  5. onfocusout可以either be false or a function(){}
  6. <强> check this jsfiddle, contains corrected code

    更正HTML IMO

    <form id="pseudoForm" >
        <input type="text" name="first_name" id="first_name" />
        <input type="text" name="last_name" id="last_name" />
    </form>
    

    更正Javascript

    $("#pseudoForm").validate({
        onfocusout: function(fld){$(fld).valid()},
        rules: {
            first_name: 'required',
            last_name: 'required'
        }
    });
    

    然后你必须找到一种用鼠标发布表单的方法:D但这不是验证工作所必需的

答案 1 :(得分:1)

您错过了}对象的结束rules

答案 2 :(得分:1)

自您最近的修改以来,我只看到三个问题:

1 onfocusout只能是false或函数。将其设置为true将破坏插件。默认情况下,插件的onfocusout验证仅在初始提交后激活。所以我只是修改了默认的回调函数,以便它立即验证。

2 )您只能在form元素上使用此插件。

3 )将.validate()包含在DOM就绪处理程序中。

工作演示:http://jsfiddle.net/cKeeN/

<强>的jQuery

$(document).ready(function () {

    $("#pseudoForm").validate({
        onfocusout: function (element, event) {
            this.element(element);
        },
        rules: {
            first_name: "required",
            last_name: "required"
        }
    });

});

<强> HTML

<form id="pseudoForm">
    <input type="text" name="first_name" />
    <input type="text" name="last_name" />
</form>