2014-12-06 3 views
5

Ich habe eine Form, die eine optionale Eingabe und 3 erforderlichen Eingabefelder hat. Für die optionale Eingabe habe ich die folgenden Markup:Parsley.js - Überprüfen Sie optional Eingang für nur Zahlen

<input type="number" placeholder="0" min="0" max="20000" step="100" data-parsley-validation-threshold="1" data-parsley-trigger="keyup"> 

Das ist nicht die Validierung nicht ausgelöst, wenn ich Typ in Buchstaben oder andere Zeichen. Es validiert für Min- und Max-Werte. Wenn ich ein erforderliches Attribut einstelle, scheint es zu funktionieren, aber das will ich nicht. Ich versuchte auch, ein Muster wie unten zu definieren:

data-parsley-pattern="^[0-9]*$" 

Keiner von ihnen scheint zu arbeiten. Irgendwelche Ideen?

+0

Um zu klären, wollen Sie das Feld optional sein (so kann das Feld leer sein). Wenn der Benutzer jedoch einen Wert festlegt, soll er ganzzahlig sein. Ist es das ? –

+0

@Milz Ja, das ist richtig – user3312508

Antwort

14

können Sie data-parsley-type="digits" verwenden. Beachten Sie die Verwendung von type="text" anstelle von number.

Dies funktioniert, wenn Sie (nicht Floats) Ziffern zulassen möchten.

<input type="text" placeholder="0" min="0" max="20000" step="100" 
    data-parsley-validation-threshold="1" data-parsley-trigger="keyup" 
    data-parsley-type="digits" /> 

Wenn Sie schwimmt möchten, können Sie data-parsley-type='number' verwenden:

<input type="text" placeholder="0" min="0" max="20000" step="100" 
    data-parsley-validation-threshold="1" data-parsley-trigger="keyup" 
    data-parsley-type="number" /> 
+0

Das scheint zu funktionieren, aber was ist, wenn ich auch schwebende Werte akzeptieren muss? wie 10,5? – user3312508

+0

@ user3312508 Ich habe die Antwort aktualisiert, um Floats zu erlauben. –

+0

Das scheint HTML Validierung fehlzuschlagen, weil ich Text und dann Min Max Attribute habe. Auch zeigt die Inkrement/Dekrement-Funktionen nicht. Für zB: http://cl.ly/image/2P0k3H3W0S2r Jede Abhilfe? Danke im Voraus;) – user3312508