jQuery验证 - 实时验证

时间:2011-06-30 14:30:16

标签: jquery jquery-validate

我正在使用jQuery验证DOCS

只是想知道,我们可以在提交表单之前对focusout进行验证吗?规范中有一个选项 - 但只有在您首次提交表单后才有效。

我想要实现的目标 - 正如您想要的那样 - 它会将输入标记为有效(检查)或无效(错误消息)。

目前只有在提交表单后才有功能。

我的验证码:

$('.loginbox').validate({
        debug: true,
        rules: {
            password: {
                required: true,
                minlength: 8,
                maxlength: 8
            },
            username: {
                required: true,
                minlength: 2 
            }
        },
        showErrors: function(errorMap, errorList) {
            this.defaultShowErrors();
        },
        success: "valid",
        submitHandler: function() { alert("Submitted!") }
    });

任何帮助非常感谢。皮特

1 个答案:

答案 0 :(得分:3)

如果文本输入根据验证插件有效,则会创建错误有效的标签类。

<label class="error valid" for="spill" generated="generated"></label>

像这样使用CSS tp拾取

label.error:before {
content:        "\0020 \2718 \0020"; // is an X
color:          red;
}


label.error {
    padding-left: 16px;  
    margin-left: .3em;
}
label.valid {
    display: block;
    width: 16px;
    height: 16px;
}
label.valid:before {
content:       "\0020 \2714"; // Is a Checkmark
color:          green;

}

当然,您也可以使用img来代替实体。 On Error这将显示X以及您在验证中设计的消息。 。成功时,当您离开文本输入时,这也会在输入下留下一个复选标记。

您可能还想在验证器中使用此消息

$("#upd").rules("add", {
        required: true,
        minlength: 1,
        maxlength: 1,
    messages: {
        required: "Please pick a category",
        minlength: jQuery.format("Please, Check at least one box"),
        maxlength: jQuery.format("Please, You checked too many boxes"),
    }
});