【问题标题】:jQuery validation - multiple groupsjQuery 验证 - 多组
【发布时间】:2011-02-01 16:18:54
【问题描述】:

我正在设计一个具有以下功能的用户控件:

  • 一个名为“AddressInput”的文本框
  • 一个谷歌地图插件
  • 链接按钮
  • 名为“MarkerTitleInput”的标记标题的文本框
  • “提交”按钮

问题是这样的:

当点击链接按钮时,我需要验证 AddressInput 是否已完成,但没有别的

单击提交按钮时,我需要验证 AddressInput 和 MarkerTitleInput 是否都已完成。

所以我的前两个问题是: 1)我如何验证来自链接按钮的某些字段,而不提交表单 2) 我如何验证正在提交的表单中的所有字段

我的另一个问题是,当单击链接按钮时,我的代码会针对 Google 的地理编码运行查找以获取地​​址。我打算创建一个额外的验证方法来处理找不到地址时,但是使用验证器意味着每次按下键时都会发送 json 请求,这太多了 - 我只希望在链接按钮时运行验证点击。我试过(selector).validate({ onkeyup:false }) 无济于事。是否可以手动设置.valid()方法是否认为表单有效?

谢谢 铝

【问题讨论】:

    标签: javascript jquery jquery-validate validation sitefinity


    【解决方案1】:
    $("form").validate({
    
          groups:{
    
              pg1:"_Phone1 _Phone2 _Phone3",
    
              pg2:"dob_month dob_day dob_year"
    
          },
    
          errorPlacement:function(error, element){
    
          if(element.attr("name")=="_Phone1"|| element.attr("name")=="_Phone2" || element.attr("name")=="_Phone3"){
    
            error.insertAfter("#_Phone3")
          }
    
          else if
            (element.attr("name")=="dob_month"|| element.attr("name")=="dob_day" || element.attr("name")=="dob_year"){
    
            error.insertAfter("#dob_year")
          }
    
          else
    
            error.insertAfter(element);
    
          },
    
          });
    
    });
    

    【讨论】:

      【解决方案2】:

      为这两个按钮中的每一个赋予一个独特的类(以便于在 jQuery 中定位)。

      给每个类一个 OnClick 事件。

      在 OnClick 事件中验证。

      如果验证成功,返回true。

      否则返回false。

      【讨论】:

      • 嗨,Jeff - 感谢您的回复,但它如何与 jQuery 的验证插件一起使用?
      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 2017-11-18
      • 2011-04-09
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多