2011-02-01 74 views
2

林设计具有以下的用户控制:jQuery验证 - 多个组

  • 一个叫做文本框“AddressInput”
  • 一个谷歌地图插件
  • 一个LinkBut​​ton
  • 对标记的文本框标题叫 'MarkerTitleInput'
  • 一个 “提交” 按钮

问题是这样的:

当点击LinkBut​​ton的,我需要验证AddressInput已经完成,但没有别的

当按钮被点击提交,我需要验证AddressInput和MarkerTitleInput双双完成。

所以我的前两个问题是: 1)如何验证某些字段从一个LinkBut​​ton,无需提交表单 2)如何验证所提交的表单的所有字段

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

由于 铝

回答

0

给每个两个按钮一类独特的(为了便于jQuery中靶向的)的。

给每个班级一个OnClick事件。

在OnClick事件中验证。

如果验证成功,则返回true。

否则返回false。

+0

嗨,杰夫 - 感谢您的回应,但是如何与jQuery的验证插件一起工作? – higgsy 2011-02-01 16:24:10

2
$("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); 

     }, 

     }); 

});