2012-04-27 26 views
22

Ich habe ein bisschen seltsames Problem. Ich möchte eine JQuery-Valdation-Fehlermeldung für ein Element auslösen, auch wenn es gültig ist.jQuery Validierung Trigger Fehlermeldung

Szenario: Ich habe eine große Form. Einer der Eingänge ist für PersonalId. Es ist optional, diese PersonalId einzugeben. Neben diesem Eingang habe ich einen normalen Button (nicht den Submit-Button). Wenn Sie darauf klicken (Informationen aus Ajax holen) und das Feld PersonalId leer ist, möchte ich diese Fehlermeldung auslösen.

Ist das mit jQuery Validate möglich oder muss ich meine eigene Funktion erstellen?

+0

Mögliche Duplikate von [manuell unauffällig Validierungsfehler in einem Textfeld festgelegt] (https://StackOverflow.com/questions/7380278/manuell-set-unobtrusive-validation-error-on-textbox) – KyleMit

Antwort

45

Ist das mit jQuery Validate möglich oder muss ich meine eigene Funktion erstellen?

Beide, irgendwie. Sie können die showErrors Funktion verwenden, um Fehler auf dem Formular manuell anzuzeigen, aber da Sie nicht möchten, dass dies eine Regel ist, die aktiviert ist, wenn Sie das Formular senden, müssen Sie Ihre eigenen Überprüfung für den Wert in tun die Eingabe.

Etwas wie:

var $validator = $("#myform").validate(); 
$("#checkid").click(function() { 
    var errors; 

    if (!$("#personalid").val()) { 
     /* Build up errors object, name of input and error message: */ 
     errors = { personalid: "Please enter an ID to check" }; 
     /* Show errors on the form */ 
     $validator.showErrors(errors);    
    }   
}); 

Beispiel:http://jsfiddle.net/andrewwhitaker/XjZer/

Beachten Sie, dass die Form noch vorlegen wird, wenn nichts mehr im personalid Bereich gibt.

+0

Ich habe das gleiche Problem aber wie kann ich Fehler für multidimensional Namen auslösen. Ich konnte das durch Ihre Lösung nicht lösen. z.B. 'Feld =" E-Mail "; var element = "Daten [Benutzer] [" + Feld + "]"; Fehler = {Element: Feldfehler}; $ validator.showErrors (Fehler); ' – Parixit

Verwandte Themen