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;