jQuery验证成功指标

use*_*187 5 jquery jquery-validate

好吧,我想我错了......但我似乎无法得到答案.我只是试图创建一个成功的复选标记或指示器,用户输入到输入表单中的内容是有效的.脚本的注释部分是我想要实现的想法.这是脚本:

$('document').ready(function(){
    $('form').validate({
        rules: {
           a: {required:true, minlength:2},
           b: {required:true}
        },      
        messages: {
           a: {required: "enter your name!"},
           b: {required: "enter the date!"}                        
        },
        errorPlacement: function(error, element) {
        if(element.attr('name') == 'a'){
             $('#name').html(error);                
         }
         if(element.attr('name') == 'b'){
             $('#date').html(error);                
         }
        },
        success: function(error){
            //a: {$('#name').html('nice name!');},
            //b: {$('#date').html('nice date!');}                           
        },
        debug:true
    });
    $('#a').blur(function(){
        $("form").validate().element("#a");
    });
});
Run Code Online (Sandbox Code Playgroud)

这是html:

<form action="#" id='commentForm'>
    <input type="text" name="a" id="a">
    <input type="text" name="b" id="b">
    <button type="submit">Validate!</button>
<div id="date" style="border:1px solid blue;"></div>
<div id="name" style="border:1px solid red;"></div>
</form>
Run Code Online (Sandbox Code Playgroud)

最后,但并非最不重要的,这里是jsfiddle:

http://jsfiddle.net/mmw562/wQxQ8/8/

非常感谢您的帮助!

Spa*_*rky 6

里面的部分success:是类名或JavaScript回调函数,它看起来就像任何其他函数一样.但相反,你把它写成一个插件选项数组.此外,由于它被称为"成功",为什么会error在没有任何东西的情况下传递给它? 根据文档,它应该看起来像这样......

success: function(label){
    label.addClass("valid").text("Ok!");                        
},
Run Code Online (Sandbox Code Playgroud)

http://docs.jquery.com/Plugins/Validation/validate#toptions

如果指定,则显示错误标签以显示有效元素.如果给出了String,则将其作为类添加到标签中.如果给出了一个Function,则使用标签(作为jQuery对象)作为其唯一参数进行调用.这可以用来添加像"ok!"这样的文本.

这是你的jsFiddle略微修改,以显示基本概念.也许你可以background-image在CSS的CSS中使用复选标记.valid class.

http://jsfiddle.net/wQxQ8/12/