Ich möchte meine jQuery Validierungsmeldungen in einem Tooltip anzeigen. Um dies zu erreichen, begann ich mit dem Hinzufügen der folgenden CSS-Regeln zu meinem Stylesheet:
fieldset .field-validation-error {
display: none;
}
fieldset .field-validation-error.tooltip-icon {
background-image: url('/content/images/icons.png');
background-position: -32px -192px;
width: 16px;
height: 16px;
display: inline-block;
}
und ein sehr kleines Stück JS-Code:
; (function ($) {
$(function() {
var fields = $("fieldset .field-validation-valid, fieldset .field-validation-error");
fields.each(function() {
var self = $(this);
self.addClass("tooltip-icon");
self.attr("rel", "tooltip");
self.attr("title", self.text());
self.text("");
self.tooltip();
});
});
})(jQuery);
Das Problem ist, dass ich jetzt brauchen, um jedes Ereignis zu erfassen, wenn die Validierung Nachricht ändert, ich habe auf die Quelle für jquery.validate.unobtrusive.js
und die Methode, mit der ich mich verbinden muss, ist die function onError(error, inputElement)
Methode.
Mein Tooltip-Plugin funktioniert, solange ich eine aktualisierte title
Attribut, das Problem tritt auf, wenn das Feld neu validiert wird und die Validierungsnachricht neu generiert wird, müsste ich mich in das einklinken und verhindern, dass die Nachricht dort veröffentlicht wird, und sie in die title
stattdessen das Attribut.
Ich möchte einen Weg finden, dies zu tun ohne Modifikation die eigentliche jquery.validate.unobtrusive.js
Datei.
Eine zweite Frage: Wie kann ich das verbessern, damit die Funktionalität unverändert bleibt, wenn Javascript deaktiviert ist?