2017-10-17 5 views
0

Sails Version sein: 0,12 Node Version: 6.11.4 NPM Version: 3.10.0 DB Adapter Name: Segel-Mongo DB Adapter Version: 0,12 Betriebssystem: LinuxSailsjs: E_VALIDATION Regel integer Der Wert sollte eine ganze Zahl


Ich habe ein Problem mit integer Typen. Wenn ich setzen Sie ihn auf integer dann, wenn der Wert null ist, ich die folgende Fehlermeldung:

{"error":"E_VALIDATION","status":400,"summary":"1 attribute is invalid","model":"Test","invalidAttributes":{"test":[{"rule":"integer","message":"Value should be an integer"}]}}

Meine Modellkonfiguration:

test: { 
     type: 'integer' 
} 

Da ich nicht gesetzt die require Validator so null Werte sollte akzeptiert werden.

Wenn ich den Wert mit einer Ganzzahl oder mit einem String mit einer Ganzzahl festlegen, funktioniert es gut.

Was mache ich hier falsch? Oder wie kann ich null Werte für ganzzahlige Felder zulassen?

Link zur Ausgabe auf sailsjs: https://github.com/balderdashy/sails/issues/4215

Antwort

0

Ok fixiert. Das Problem war, dass vor der Validierung der Wert NaN war. Vielleicht kam dieser Wert aus dem Front-Eingabefeld oder nach der Integer-Validierung. Wie auch immer, es funktioniert gut, indem Sie diese Prüfung in der Validierung hinzufügen: if (isNaN(attrs.test)) attrs.test = null;

Verwandte Themen