Styling jQuery Validierung mit Select2 4.0 und Bootstrap 3+

8

Ich habe ein Projekt, das Bootstrap 3.3.4, Select2 4.0 und Jquery Validation 1.13.1 verwendet

Ich habe die jquery validator defaults auf style bootstrap 3 classes wie folgt gesetzt

%Vor%

Aber diese Voreinstellungen gestalten select2 Felder nicht gleich ... Im Bild unten ist die Auswahl "metals" ein Bootstrap-Feld, während die Auswahl "colors" ein select2-Feld ist.

Ich habe versucht, andere SOs zu suchen, aber alle verwenden die 3.5.xx-Version von select2

Ich habe ein Beispiel aus dem abgebildeten Beispiel hinzugefügt. Ich suche nach Anpassungen der Validator-Standardeinstellungen, damit select2 uniform aussieht

Ссылка

    
Jay Rizzi 11.06.2015, 14:01
quelle

3 Antworten

20
  

Ich habe versucht, andere SOs zu suchen, aber alle verwenden die 3.5.xx-Version von select2

Es gibt keine geheime Formel für verschiedene Versionen. Nur rohe Gewalt, um es für Ihre Situation herauszufinden. Das bedeutet, dass Sie das gerenderte DOM überprüfen müssen, damit Sie wissen, welche Elemente Sie anvisieren und wie Sie sie anvisieren.

  1. Schreiben Sie CSS, das auf das gerenderte Element Select2 zielt. Wenn also der übergeordnete Container die Klasse has-error hat, wird das Select2-Element als solches formatiert.

    %Vor%
  2. Um die Fehlermeldung zu erhalten, nach zu verwenden, benötigt das Select2-Element einfach eine weitere Bedingung innerhalb der Option errorPlacement zusammen mit einigen jQuery-DOM-Traversalen.

    %Vor%
  3. Und schließlich, da die Interaktion mit dem Select2 keine Ereignisse enthält, die das jQuery Validate-Plugin automatisch erfasst, müssen Sie einen benutzerdefinierten Event-Handler schreiben und die Validierung programmgesteuert auslösen.

    %Vor%

Arbeitsdemo: Ссылка

    
Sparky 11.06.2015, 15:37
quelle
2

Sparkys Antwort funktionierte bei mir einfach nicht, also habe ich sie wie folgt geändert:

%Vor%     
adamj 02.12.2016 01:06
quelle
2

Eine kleine Änderung an @ Sparkys Lösung - Ich akzeptiere das Guthaben nur, um herauszufinden, dass error und valid -Klassen werden vom letzten jquery validate (: P) als Datum verwendet:

%Vor%

Jetzt Code:

%Vor%

Verwenden Sie CSS in error class, wie es Ihnen gefällt.

    
Fr0zenFyr 01.04.2017 06:53
quelle