【问题标题】:Not seeing error message with jqueryvalidation and msdropdown没有看到带有 jqueryvalidation 和 msdropdown 的错误消息
【发布时间】:2015-12-10 20:13:31
【问题描述】:

这可能有点令人困惑,但我会尽力解释清楚。

我有一个 twitter bootstap 表单,它正在收集信息,并使用 jqueryvalidation 在表单上强制执行特定规则。到目前为止,一切都很好。但是,当使用 msdropdown msdropdown 在客户端的请求中格式化选择下拉框时,通常应该在所需下拉列表中看到的错误被隐藏。仍会执行表单,但您看不到标准的“此字段为必填项”消息。使用 Chrome 的网络工具,我可以看到该消息,并且我看到它位于下拉列表的后面。

小提琴示例:Fiddle Example

我猜在这种情况下可能有一种方法可以更改错误块的位置,但我不知道该怎么做。

    $(function() {

  $.validator.setDefaults({
    errorClass: 'help-block',
    highlight: function(element) {
      $(element)
        .closest('.form-group')
        .addClass('has-error');
    },
    unhighlight: function(element) {
      $(element)
        .closest('.form-group')
        .removeClass('has-error');
    },
    errorPlacement: function (error, element) {
      if (element.prop('type') === 'radio') {
        error.insertAfter(element.parent());
      } else {
        error.insertAfter(element);
      }
    }
  });

错误块示例。

提前致谢!

更新:所以我开始使用错误块我能够得到一条错误消息出现也很抱歉小提琴错了:(:

    errorPlacement: function (error, element) {
  if (element.prop('type') === 'radio' || element.attr("name") == "newAssignment" ) {
    error.insertAfter(element.parent());
  } else {
    error.insertAfter(element);
  }
}

现在我确实在选择框上方显示了错误消息,但在我做出选择后,错误消息仍然存在。

【问题讨论】:

    标签: twitter-bootstrap jquery-validate


    【解决方案1】:

    好的,所以我有这个至少可以工作的地方。

    添加:

    || element.attr("name") == "newAssignment" 
    

    上面列出的帮助我放置错误消息。

    我还通过在进行选择时评估元素来消除错误消息:

    $("#addNewAssignment").validate().element("#newAssignment");
    

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2013-06-14
      • 2017-11-13
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      相关资源
      最近更新 更多