2016-04-06 11 views
1

Ich benutze die jQuery Validate Plugin und ich möchte in der Lage sein, die Fehlermeldungen neben meinen Eingaben zu verbergen und eine Hauptfehlermeldung am unteren Rand, habe ich diese Art der Arbeit, aber die Fehlermeldungen werden neben meinen Eingabefeldern angezeigt . (Natürlich würde ich das Styling aufräumen, wenn ich es benutze).Wie Fehlermeldungen zu verbergen und eine Fehlermeldung jQuery validate?

Wie Sie unten sehen können, sagt es mir, dass es 4 Fehler gibt, siehe Details unten. Ich will, dass dies bleibt, aber nicht die Fehlermeldungen und Styling oben?

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(); 
    }  
}); 
+2

prüfen diese Frage http://stackoverflow.com/questions/13716649/using-jquery-validate-plugin-to- output-a-single-error-message-für-mehrere-feld – Pugazh

+0

@Pugazh danke dafür, das war die lösung. – Kieron606

Antwort

0

Sie können die Fehlermeldungen mit CSS verstecken:

span.error { 
    display: none; 
} 
1

sein kann, die Validator Methode

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

Es wird nicht fügen Sie den Fehler an den Eingängen verwenden .

+0

Dies ist unnötiger zusätzlicher Code, da das OP programmatisch diese Nachrichten mit 'this.defaultShowErrors()' an Ort und Stelle setzt. – Sparky

0

Normalerweise unterdrückt showErrors automatisch die Standardnachrichten neben jedem Eingabeelement.

Sie Ihre eigene Frage erstellen, da .defaultShowErrors() die Methode die Standardmeldungen für die Umsetzung zurück.

Entfernen Sie einfach 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/