jQuery-Validierung mit Eingabe Maske
Haben das problem, dass die Formularfelder mit zugeordneten Maske (als Platzhalter) sind nicht validiert, so leer von jQuery Validierung.
Benutze ich:
- https://github.com/RobinHerbots/jquery.inputmask
- https://github.com/1000hz/bootstrap-validator
(verwendet jQuery native Validierung in diesem Fall)
Einige seltsame Verhaltensweisen:
- Eingänge mit Attribut
required
validiert werden (per jQuery) nicht leer und daher gültige, aber in der anderen hand-Eingang ist nicht als "nicht leer" und nicht geprüft für andere Validierungsregeln (dies ist validator.js) - Wenn ich Schreibe etwas in das Eingabefeld und löschen Sie es, ich bekomme
required
Fehlermeldung
Kann mir jemand einige Tip???
BEARBEITEN:
Relevante code:
HTML/PHP:
<form enctype="multipart/form-data" method="post" id="feedback">
<div class="kontakt-form-row form-group">
<div class="kontakt-form">
<label for="phone" class="element">
phone<span class="required">*</span>
</label>
</div>
<div class="kontakt-form">
<div class="element">
<input id="phone" name="phone" ' . (isset($user['phone']) ? 'value="' . $user['phone'] . '"' : '') . ' type="text" maxlength="20" class="form-control" required="required" data-remote="/validator.php">
</div>
</div>
<div class="help-block with-errors"></div>
</div>
</form>
JS:
$(document).ready(function() {
$('#phone').inputmask("+48 999 999 999");
$('#feedback').validator();
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht gerade die Lösung, aber...
ändern Eingabeformat für ein ähnliches löst das problem.
Immer noch weit entfernt von perfekt, aber : (
ERKLÄRUNG:
Andere Maskierung Bibliotheken, nicht über diese seltsamen Verhaltensweisen erwähnt, so ist es möglich, Felder überprüfen.
Ich verwendet:
https://github.com/digitalBush/jquery.maskedinput
Konnte ich verwenden, die RobinHerbots die Inputmask - (3.3.11) mit jQuery Validierung, durch die Aktivierung clearIncomplete. Sehen Eingabemaske Dokumentation gewidmet Abschnitt:
Personnaly, wenn möglich, bevorzuge ich diese Einstellung durch HTML-Attribut data:
Der Nachteil ist: teilweise Eingang gelöscht, wenn der Fokus verloren geht, aber kann ich mit Leben. Also vielleicht auch du ...
Bearbeiten: wenn Sie brauchen, um hinzuzufügen, die Maske die Validierung der rest der jQuery Validierung Prozess, können Sie simulieren eine jQuery Validierung Fehler, indem Sie Folgendes tun:
Ich habe das gleiche Problem, wenn Sie kombiniert diese beiden libs zusammen.
Tatsächlich gibt es ein ähnliches ticket hier: https://github.com/RobinHerbots/Inputmask/issues/1034
Hier ist die Lösung von
RobinHerbots
:$("#inputPhone").inputmask("999.999.9999", {showMaskOnFocus: false, showMaskOnHover: false});
Der validator davon aus, dass es nicht leer ist, wenn die Maske den Fokus/hover ist da.
drehen Sie einfach den Fokus und bewegen Sie den Mauszeiger in die Maske, aus der das problem lösen wird.
Ich dieses problem gelöst mit: