Benutzerdefinierte Fehlermeldung-Text mit Jquery Validate Plugin
Müssen, kopieren Sie die Benutzerdefinierte Fehlermeldung von text aus einer Zeitspanne wo der text kommt von CMS. Es ist grundsätzlich erforderlich, um zu zeigen Sie eine benutzerdefinierte lokalisierten Fehlermeldung.
Code funktioniert, wenn Sie das Formular abschicken, aber sobald Sie auf eine Stelle außerhalb der Standard-Meldung ersetzen Sie die benutzerdefinierte.
HTML
<form name="form-core" id="form-core" method="post" action="" role="search" novalidate="novalidate">
<label for="keywords">Hello</label>
<input type="text" id="keyword" name="keyword" class="required" />
<span class="error-message-required">Ce champ est obligatoire</span>
<input type="submit" /><input class="cancel" type="submit" value="Reset" />
</form>
JS
$('#form-core').validate({
debug: false,
onfocusout: function (element) { jQuery(element).valid() },
errorElement: "div",
errorPlacement: function (error, element) {
jQuery('div[for=' + error.attr('for') + ']').remove();
error.text($(element).next('.error-message-required').text());
error.insertBefore(element);
}
});
- Versuchen Sie, entfernen Sie diese Zeilen aus dem JS-jQuery(element).valid()
- versucht, aber wenn Sie dann geben Sie ein Zeichen ein, und entfernen Sie es wieder. Dafult den text der Fehlermeldung kommt wieder ins Bild
- Bitte entfernen Sie die Fehlermeldung aus der Modell-Eigenschaft.
- es ist nichts falsch mit
jQuery(element).valid()
in seinemonfocusout
callback-Funktion. Er ist lediglich auslösendes sofortige überprüfung auf die Konzentration aus, bevor Sie den Absenden-button aktiviert. - stackoverflow.com/questions/16681406/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht so zu arbeiten, wie Sie erwarten, da die
errorPlacement
callback-Funktion wird nicht ausgelöst, auf jeden Fehler. Es ist nur feuerte auf das erste auftreten des Fehlers und dann das plugin automatisch zeigt/verbirgt die neue error-element, dass es, von Ihr selbst erstellte.1) ich denke du machst die Sache komplizierter als Sie sein müssen. Geben Sie einfach Ihre benutzerdefinierte Fehlermeldung innerhalb der
.validate()
- Initialisierung-Funktion. Entfernen Sie die<span></span>
aus Ihren HTML/CMS und lassen Sie das plugin Griff dies die Art, wie es konzipiert wurde.2) Wieder, lassen Sie das plugin seine Arbeit machen. Ändern Sie Ihre
errorPlacement
callback-Funktion dieser:3) Ändern Sie Ihre reset-Taste, um
type="reset"
, so dass es nicht Absenden des Formulars:Arbeiten DEMO: http://jsfiddle.net/wQaYw/
jQuery:
BEARBEITEN:
Wenn, aus welchem Grund auch immer, Sie können nicht entfernen Sie die
span
von Ihrem CMS und erklären die benutzerdefinierten Nachrichten in der.validate()
haben Sie eine andere option.Verwenden Sie die built-in
- Regeln('add')
Methode dynamisch ändern die Standard-Meldungen für jedesinput[type="text"]
mitrequired
in der Regel auf das gesamte Formular wie folgt aus. (Jedoch, mit dieser Methode, Sie muss liefern eine benutzerdefinierte Nachricht für jeden dieser Elemente, wie dies über-Fahrt alle von Ihnen).nach diesem...
Arbeiten DEMO: http://jsfiddle.net/6Vzdz/