使用submitHandler进行jquery插件/验证

时间:2010-04-10 17:42:23

标签: asp.net jquery

问候语,

我正在使用jquery插件/验证库。我想允许提交验证,但我不确定应该在哪里插入代码: 我知道我可以为用户提交提交者,但在阅读完文档后我很难实现它,所以我需要你的帮助。

jquery验证工作正常,但即使存在无效输入,表单仍然提交的问题。

这是我的验证功能,我想知道如果输入无效,我怎么能不提交表格。

顺便说一句,我正在使用asp.net按钮提交表单。

这是我的代码:

  $(document).ready(function() {


             $("#aspnetForm").validate({




                 rules: {
                     "<%=txtHomePhone.UniqueID %>": {

                         phonehome: true
                     },

                     "<%=txtMobileHome.UniqueID %>": {

                         mobilephone: true


                 },

                   "<%=txtFaxHome.UniqueID %>": {

                   faxhome: true

               },

               "<%=txtEmailHome.UniqueID %>": {

                   email: true

               },


               "<%=txtZipCodeHome.UniqueID %>": {

               ziphome: true

               },

               //work
                           "<%=txtPhonework.UniqueID %>": {

                         phonework: true
                     },

                     "<%=txtMobileWork.UniqueID %>": {

                         mobilework: true


                 },

                   "<%=txtFaxWork.UniqueID %>": {

                   faxwork: true

                     },
                     "<%=txtEmailWork.UniqueID %>": {

                   email: true

               },

               "<%=txtWebSite.UniqueID %>": {

                   url: true

               },
               "<%=txtZipWork.UniqueID %>": {

               zipwork: true

               }



                 },




                   errorElement: "mydiv",
                    wrapper: "mydiv",  // a wrapper around the error message

                      errorPlacement: function(error, element) {
                      offset = element.offset();
                      error.insertBefore(element)
                      error.addClass('message');  // add a class to the wrapper
                      error.css('position', 'absolute');
                      error.css('left', offset.left + element.outerWidth());
                      error.css('top', offset.top - (element.height() / 2));

                  }



            });

1 个答案:

答案 0 :(得分:0)

启用debugon submit我需要通过添加以下行来在规则的validate函数中将debug设置为true:debug:true,

正确的代码:

$(document).ready(function() {


         $("#aspnetForm").validate({


                debug: true,

             rules: {
                 "<%=txtHomePhone.UniqueID %>": {

                     phonehome: true
                 },

                 "<%=txtMobileHome.UniqueID %>": {

                     mobilephone: true


             },

               "<%=txtFaxHome.UniqueID %>": {

               faxhome: true

           },

           "<%=txtEmailHome.UniqueID %>": {

               email: true

           },


           "<%=txtZipCodeHome.UniqueID %>": {

           ziphome: true

           },

           //work
                       "<%=txtPhonework.UniqueID %>": {

                     phonework: true
                 },

                 "<%=txtMobileWork.UniqueID %>": {

                     mobilework: true


             },

               "<%=txtFaxWork.UniqueID %>": {

               faxwork: true

                 },
                 "<%=txtEmailWork.UniqueID %>": {

               email: true

           },

           "<%=txtWebSite.UniqueID %>": {

               url: true

           },
           "<%=txtZipWork.UniqueID %>": {

           zipwork: true

           }



             },




               errorElement: "mydiv",
                wrapper: "mydiv",  // a wrapper around the error message

                  errorPlacement: function(error, element) {
                  offset = element.offset();
                  error.insertBefore(element)
                  error.addClass('message');  // add a class to the wrapper
                  error.css('position', 'absolute');
                  error.css('left', offset.left + element.outerWidth());
                  error.css('top', offset.top - (element.height() / 2));

              }



        });