因为做网页需要表单验证,便找了jQuery.validate ,想实现   文本框焦点失去后就能显示错误信息。别的验证规则(比如 最大输入、email、url验证)都可以实现,就是 非空(required)规则无法实现,非要点击提交按钮才行。。        百度了半天,找不到个头绪,看源码,又看不懂。各位大侠帮帮忙

解决方案 »

  1.   


    找到jquery里面关于验证的方法入口,
    加上
    if(value == "") return xxx();
    不就行了吗?具体value变量怎么拼写的,
    看看参数列表,
    我这里只是表达一个意思.
      

  2.   

    这个不难的
    <script src="../js/jquery.js" type="text/javascript"></script>
    <script src="../js/jquery.validate.js" type="text/javascript"></script>
    <script src="./js/jquery.metadata.js" type="text/javascript"></script>
    $().ready(function() {
    $("#signupForm").validate();
    });<form id="signupForm" method="get" action="">
    <p>
    <label for="firstname">Firstname</label>
    <input id="firstname" name="firstname" class="required" />
    </p>
    <p>
    <label for="email">E-Mail</label>
    <input id="email" name="email" class="required email" />
    </p>
    <p>
    <label for="password">Password</label>
    <input id="password" name="password" type="password" class="{required:true,minlength:5}" />
    </p>
    <p>
    <label for="confirm_password">确认密码</label>
    <input id="confirm_password" name="confirm_password" type="password" class="{required:true,minlength:5,equalTo:'#password'}" />
    </p>
    <p>
    <input class="submit" type="submit" value="Submit"/>
    </p>
    参考:http://codersky.net/Search/Index/validate
      

  3.   

    http://apps.hi.baidu.com/share/detail/15835919
      

  4.   

    $("#txtval").focusout(function() {
        alert('error')
    });
      

  5.   

    如果需要非空的话,这么写
    <asp:TextBox runat="server" ID="bhtb" CssClass="easyui-validatebox" required="true"></asp:TextBox>
      

  6.   

    这么验证
      $('#addbtn').click(function(){
                  var isValid = $('#form1').form('validate');
                   if(isValid==false)
                   {
                        return false;
                   }
                });我用的是jquery easyui中的验证,需要引用easyui及其样式
      

  7.   

    $('#firstname').focusout(function(){    //用户输入框失去焦点时触发该事件
       var value = $(this).val();
       if(value==''){
          alert('error');
         return false;
       }
    })
      

  8.   

    http://jquery.bassistance.de/validate/demo/大家可以去这里看看    这个这个插件的演示。。
      

  9.   

    http://jquery.bassistance.de/validate/demo/
    这个是图一       第一个文本框  上有两个验证  一个是非空 一个是不得少于2个字符
    结果我点了文本框一,什么也没有做,点文本框二,按理说文本框一焦点失去,应该触发验证,但是没有任何显示。。
      

  10.   

    多谢兄弟关注。。刚刚图片错了   我重新说一下吧。
    这个是图一 第一个文本框 上有两个验证 一个是非空 一个是不得少于2个字符
    结果我点了文本框一,什么也没有做,点文本框二,按理说文本框一焦点失去,应该触发验证,但是没有任何显示。。
    这个是图二,这次 我刷新了页面,在文本框一里面 输入一个字符,然后点击文本框二,文本框一失去焦点,验证消息这次确出来了。经过我反复尝试,发现只有 非空验证 不能实现,其它验证都可以实现失去焦点就验证。非空验证只有提交一下才能显示。难道这真的像 13的兄弟所说,是该程序的BUG么???
      

  11.   


    多谢哥们的热心    从头跟到尾。也只能这样了。源码很多我看不懂改起来估计很麻烦。。
    我只是不甘心这样大的插件竟然会有这样的BUG
      

  12.   

    你可以用easyui,这个就没有那种情况