Sails版本:0.12 节点版本:6.11.4 NPM版本:3.10.0 数据库适配器名称:sails-mongo 数据库适配器版本:0.12 操作系统:Linux
我遇到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 :(得分:0)
好的修复。问题是在验证之前,该值是NaN。也许这个值来自前端输入字段或整数验证之后。无论如何,通过在验证中添加此检查它可以正常工作:
if (isNaN(attrs.test))
attrs.test = null;