2017-10-17 127 views
0

帆版本:0.12 節點版本:6.11.4 NPM版本:3.10.0 DB適配器名稱:帆 - 蒙戈 DB適配器版本:0.12 操作系統:Linux的Sailsjs:E_VALIDATION規則整數值應爲整數


我有一個integer類型的問題。如果我將它設置爲integer那麼如果值爲null我收到以下錯誤:

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

我的車型配置:

test: { 
     type: 'integer' 
} 

,因爲我沒有設置require驗證所以null值應該被接受。

如果我用一個整數或一個包含整數的字符串設置值,那麼它工作正常。

我在做什麼錯在這裏?或者我怎樣才能允許整數字段上的值爲null

鏈接到這個問題上sailsjs:https://github.com/balderdashy/sails/issues/4215

回答

0

好固定。問題是在驗證之前,值是NaN。也許這個值來自前端輸入字段或整數驗證後。無論如何,它通過在驗證中添加此檢查可以正常工作: if (isNaN(attrs.test)) attrs.test = null;