2012-04-03 11 views
3

Ich habe das Eingabemasken-Jquery-Plugin verwendet, um das Kreditkartenfeld zu maskieren. Mein Code in Maskierung ist wie folgt:Jquery-Validierer und Masken-Plugin

$(".cardField").mask("9999 9999 9999 9999"); 

Das Problem, das ich auch die Validator-Plugin mit der folgenden Bedingung verwendet habe, ist:

rules: { 
    cardField: { 
     required: true, 
     digits: true, 
     minlength: 16, 
     maxlength: 16 
    } 
} 

Nun, wenn ich etwas geben, es führt immer zu einem Fehler wegen der Räume. Wie kann ich das lösen?

Auch, bevor ich es zurück mit dem $ post, ich möchte es als eine Zahl ohne Leerzeichen zurückgeben. Ich habe die unmasked() -Methode verwendet, aber sie gibt stattdessen ein Objekt zurück.

var creditCardValue = $(".cardField").unmask().mask("9999 9999 9999 9999"); 
     $(".cardField").val(creditCardValue); 

also wie kann ich das richtig machen?

Vielen Dank.

Antwort

2

Ich habe das Plugin überprüft ich glaube, Sie verwenden - JQuery Mask Plugin. Aber soweit ich sehen kann, entfernt die Methode unmask einfach die erzwungene Formatierung, und der Textfeldwert bleibt als solcher erhalten. Zum Beispiel -

Datum - 12.12.2012 - mit Maske
Datum - 12.12.2012 - nach

So sind Sie stecken demaskiert die zusätzliche Formatierung selbst entfernen mit müssen. Sie könnten in Erwägung ziehen, eine benutzerdefinierte Überprüfung für dieses bestimmte Feld hinzuzufügen und dann zu einem gewünschten Format auf dem Server oder bevor Sie es auf Ihrem Server veröffentlichen. Das wäre meiner Meinung nach die einzige Lösung, die Ihnen jetzt zur Verfügung steht.