Sailsjs:E_VALIDATION规则整数值应为整数

Sailsjs:E_VALIDATION规则整数值应为整数

问题描述:

帆版本: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

好固定。问题是在验证之前,值是NaN。也许这个值来自前端输入字段或整数验证后。无论如何,它通过在验证中添加此检查可以正常工作: if (isNaN(attrs.test)) attrs.test = null;