代码之家  ›  专栏  ›  技术社区  ›  Terry_Brown

jquery验证和asp.net-明确的规则?

  •  1
  • Terry_Brown  · 技术社区  · 16 年前

    我正在使用来自的出色的jquery.validate插件 Jörn Zaefferer at bassistance

    我使用的是asp.net,所以有一个长表单,尽管该表单通过jquery手风琴分为3个部分,并带有在手风琴窗格之间切换的按钮。

    显然,在任何其他技术中,我都会使用多种形式,而且一点也不困难,尽管我在.net中无法做到这一点。

    一、 思考 $('#aspnetForm').validate().unbind()

    $('#aspnetForm').validate().rules('remove')

    希望我在上面讲得合乎逻辑——基本上,一种清除所有规则的方法,这样我就可以创建新的规则,因为我在一个不同的手风琴面板中,这是我希望的解决方案,尽管我很挣扎。

    非常感谢, 特里

    2 回复  |  直到 16 年前
        1
  •  1
  •   idrumgood    16 年前

    当表单的任何部分显示时,我会尝试设置一个标志,如下所示

    <div id="form_section_1" class="displayed">
         ....
    </div>
    <div id="form_section_2">
         ....
    </div>
    <div id="form_section_3">
         ....
    </div>
    

    if($('#form_section_1').attr('class').search('displayed') != -1){
         var is_section_1_displayed = true;
    }
    else{ var is_section_1_displayed = false;
    

    对每个人都这样做(也许是一种更有效的方法)

    email: {
             required = is_section_1_displayed;
           }
    

    假设 email

        2
  •  1
  •   Terry_Brown    16 年前

    这确实是我所做的,经过一些长时间的firebug工作,其中一个选择器似乎没有被清除,所以加载了错误的规则。

    现在它们已经解决,对.validate的每次调用都有自己的一组规则,取消勾选(比如).click事件,它们似乎不是累加的,所以page1.validate和3个规则会清除所有page2.validate规则。

    感谢您通过idrumgood提供的意见,并标记您的答案以表示感谢。

    干杯, 特里