【问题标题】:jQuery manual validate without showing errorjQuery手动验证不显示错误
【发布时间】:2013-01-24 11:54:13
【问题描述】:

我在 ASP.NET MVC 3 中使用 jQuery 验证。是否有可能在不显示实际输入旁边的错误消息的情况下检查输入是否有效?

我试过了:

$("#myForm").validate().element("#myInput1"); // this shows the error message only for the myInput1 element

$('#myForm').valid(); // this shows the error messages for all fields.

我并不想永远抑制错误显示,我只是想通过使用在服务器上创建的验证来检查字段是否有效。那一个可能会发生变化,所以我不想有两个验证定义(一个在客户端,一个在服务器上)。谢谢!

稍后编辑:

var a = $('#myForm').validate({
    errorPlacement: function(error,element) {
                       return true;
                    }
}).element("#myInput1");
alert(a);

这也显示了错误。

【问题讨论】:

  • 使用 remote 选项使用服务器验证字段...参见文档
  • 我同意@charlietfl。但是请查看此帖子stackoverflow.com/questions/1578007/…,您可以在此处添加自定义处理程序。
  • @charlietfl:我不想向服务器发出无用的请求以检查客户端验证。
  • @gustavodidomenico:我尝试了那里发布的解决方案,但在我验证时它仍然显示错误消息。
  • 怎么样useless?如果字段无效,发送到服务器可以为用户节省一个步骤和页面刷新。至于errorPlacement,您不能正确检查元素,以免显示错误。显示代码

标签: jquery asp.net-mvc jquery-validate unobtrusive-validation


【解决方案1】:

仅返回 true 覆盖 errorPlacement 将意味着不显示所有错误。您可以在验证器对象上使用check 方法来悄悄地检查一个字段。它需要一个 DOM 元素作为唯一的参数,所以对于您的代码示例,您将拥有

$('#myForm').validate().check($('#myInput1')[0])

【讨论】:

  • 正是我所需要的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多