jquery validate的文档http://docs.jquery.com/Plugins/Validation/validate#toptions

 

groups就是把若干的文本框,形成一个组,此组可以有统一的错误提示,组中的元素不论哪个没有通过都会显示错误

success是验证通过后可以执行一些东西,比如显示OK

根据文档中的groups和success提供的示例代码

).validate({
   2:   groups: {
   4:   },
function(error, element) {
 
 )
);
else
  10:        error.insertAfter(element);
  11:    },
true
  13:  })

 

).validate({
function(label) {
)
   4:    },
) }
   6: })

 

当同时使用这两者的时候,组中的某一个元素验证通过了,就会执行success中的东西,错误提示变成了OK,这显然是不对的。

遗憾的是success中,只提供了label参数,label就是显示错误或正确信息的地方,而没有提供element,无法获得是那个文本框触发了success

 

临时的解决办法:

jquery.validate.js中(mvc自带),623行

showLabel: function(element, message)

showLabel中调用了success,showLabel在被调用时传入了element

修改651行

: this.settings.success( label );

改为

: this.settings.success( label,element);

这样可以在自己设置的success中通过element获取是那个文本框触发了success,然后判断是否在组中,组中其他元素是否有错误等等

 

希望validate能够有更好的改进

相关文章:

  • 2021-10-01
  • 2021-08-07
  • 2022-02-24
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
  • 2021-11-07
  • 2021-10-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案