首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示错误后的Jquery验证事件

显示错误后的Jquery验证事件
EN

Stack Overflow用户
提问于 2014-12-12 08:10:15
回答 2查看 1.1K关注 0票数 0

我正在使用这个插件http://jqueryvalidation.org/validate

我要做的是在验证完成后操作错误消息的元素。但是,使用以下代码

代码语言:javascript
复制
$(".selector").validate({
  errorClass: 'error-message'
  invalidHandler: function(event, validator) {
       console.log($("#myDiv").find('.error-message').length); 
  }
});

正如我所猜测的,输出0是因为这个函数在将错误消息输出到html之前工作。如何在验证完成后运行代码,并且错误div元素已经插入到页面中。

更新

myDiv元素是特定输入的div,而不是整个表单的div,我想调用一个函数,它将在div的末尾移动error元素(我的div中有另一个元素),它看起来有点像这样

代码语言:javascript
复制
if ($("#myDiv").find('.error-message').length > 0) {
   $("#myDiv").find('.error-message').appendTo($("#myDiv"));
}

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-12-12 08:21:14

试试这个,也许你想要这个

代码语言:javascript
复制
if(! $(".selector").valid())
{
   console.log($("#myDiv").find('.error-message').length); 
}
票数 0
EN

Stack Overflow用户

发布于 2014-12-12 17:00:58

你的密码..。

代码语言:javascript
复制
invalidHandler: function(event, validator) {
    console.log($("#myDiv").find('.error-message').length); 
}

你是对的。这只是在消息显示之前触发的一个时间问题。除非单击按钮时已经显示错误消息,否则此方法将失败。

但是,我不知道为什么您要问如何计算这样的错误消息,因为按照文档中的示例已经存在一个内置方法。

代码语言:javascript
复制
invalidHandler: function(event, validator) {
    var errors = validator.numberOfInvalids();  // reports the number of errors
    console.log(errors); 
}

演示: http://jsfiddle.net/nv282zom/

FWIW,您的代码中也有一个缺陷,因为您只在计算带有error类的元素。这将使元素的数量增加一倍。作为错误类应用于输入元素和错误消息。

Quote OP

“我要做的是在验证完成后操作错误消息的元素。”

然而,你只向我们展示了你想要数数它们。还有许多其他回调函数和选项可用于处理错误消息.解释清楚你想要什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27439369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档