如何隐藏错误消息并有一个错误消息jQuery验证?

时间:2016-04-06 10:09:16

标签: jquery jquery-validate

我使用jQuery Validate Plugin并且我希望能够隐藏输入旁边的错误消息并在底部有一条主要错误消息,我有这种工作方式,但错误消息显示在我的输入字段旁边。 (显然,如果我使用它,我会清理样式)。

正如您在底部看到的那样,它告诉我有4个错误,请参阅下面的详细信息。我希望保留此信息,但不是上面的错误消息和样式?

enter image description here

$( ".form-group-rules" ).validate({ 
    rules: {
        rule_name: {
            required: true
        },
        rule_desc: {
            required: false
        },
        rule_type: {
            required: true
        },  
        vali_type: {
            required: true
        },
        tran_type: {
            required: true
        },
        vali_fields: {
            required: true
        },
        acct_sel: {
            required: true
        }               
    },   
  messages: {
    rule_name: "Please enter a rule name",
    rule_type: "Please select a rule type", 
    vali_fields: "Please select a validation field",
    tran_type: "Please select at least 1 transaction type",
    vali_type: "Please select a valiation type",
    acct_sel: "Please select at least 1 account"
  },
  showErrors: function(errorMap, errorList) {
    $(".error-container").html("Your form contains "
      + this.numberOfInvalids()
      + " errors, see details below.");
    this.defaultShowErrors();
  }    
});

3 个答案:

答案 0 :(得分:1)

可以使用Validator方法

errorPlacement: function(error,element) {
    return true;
  }

它不会将错误附加到输入。

答案 1 :(得分:0)

您可以使用CSS隐藏错误消息:

span.error {
  display: none;
}

答案 2 :(得分:0)

通常,showErrors会自动禁止每个输入元素旁边的默认消息。

您正在创建自己的问题,因为 .defaultShowErrors()是放回默认消息的方法

只需删除this.defaultShowErrors() ...

showErrors: function(errorMap, errorList) {
    $(".error-container").html("Your form contains "
      + this.numberOfInvalids()
      + " errors, see details below.");
    this.defaultShowErrors();  // <- REMOVE THIS LINE
} 

DEMO:http://jsfiddle.net/jmdnxedq/