1

假设我有一个按钮(类型不是提交)和一个附加到按钮的事件,如下所示

$("#idProceedBtn").on("click", function (e) {.....}

只有在验证通过后,我才需要在事件中执行操作。我可以通过以下语句的 else 条件来实现这一点

if($("input,select,textarea").not("[type=submit]").jqBootstrapValidation("hasErrors")){.....}else{.....}

这样做是可行的,但它没有突出显示哪些字段未通过验证以及为什么,例如单击类型为 submit 的按钮时会发生什么。

4

2 回答 2

1

我通过修改 jqBootstrapValidation.js 中的“hasErrors”方法找到了解决方案 - 我已将触发器添加到“submit.validation”:

hasErrors: function() {

    var errorMessages = [];

    this.each(function (i, el) {
      errorMessages = errorMessages.concat(
        $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
      );
      $(el).trigger("submit.validation");
    });

    return (errorMessages.length > 0);
},

现在它按预期突出显示形式上的错误。

于 2013-07-06T10:48:12.243 回答
-1
onload
$("input,select,textarea").not("[type=submit").trigger("focus");
于 2016-09-09T00:25:23.217 回答