Sails.js Sails水线模型属性验证类型';整数'';浮动';失败

Sails.js Sails水线模型属性验证类型';整数'';浮动';失败,sails.js,waterline,parseint,Sails.js,Waterline,Parseint,我的模型属性 per:{ 类型:“float”, 必填项:true }, 类型ID:{ 键入:“整数”, 必填项:true }, 我的意见 { per:'5GH', typeid:'6SD', } 我预计这将失败,并将得到类似的错误消息 typeid: [{规则:“整数”, 消息:“未定义应为整数 但在验证时,验证后的o/p { per:5, 类型ID:6, } 在这种情况下,我们需要手动验证整数和浮点吗? 正如在文档中一样,您可以看到整数的整数验证检查以及字符串的验证 根据我在验证方面的经验

我的模型属性

per:{
类型:“float”,
必填项:true
},
类型ID:{
键入:“整数”,
必填项:true
},

我的意见

{
per:'5GH',
typeid:'6SD',
}

我预计这将失败,并将得到类似的错误消息

typeid:
[{规则:“整数”,
消息:“未定义应为整数

但在验证时,验证后的o/p

{
per:5,
类型ID:6,
}

在这种情况下,我们需要手动验证整数和浮点吗?

正如在文档中一样,您可以看到整数的整数验证检查以及字符串的验证

根据我在验证方面的经验

要严格验证,请使用
int
decimal
代替
integer
float

你的场景的问题如下

如果要根据自定义规则严格验证属性,则可以在模型中添加自定义验证规则。请参见下面的代码:

module.exports = {
    attributes: {
        name: {
            type:'string'
        },
        mail: {
            type:'string',
            defaultsTo:'a'
        },
        age:{
            type:'string',
            isInt:true
        }
    },
    types:{
        isInt:function(value){
            console.log(value);
            if(typeof value==='number' && value=== Math.floor(value)){
                console.log('value is a number');
                return true;
            }
            if(!isNaN(1*value)){
                console.log(value);
                return true;
            }
            return false;
        }
    }
};
因此,对于每个模型,您都需要编写自定义验证器。 及

我想现在有一种方法可以编写全局自定义验证 规则,以便您可以通过编写验证来对不同模型的属性应用验证 全球范围内

正如在文档中一样,您可以看到整数的整数验证检查以及字符串的验证

根据我在验证方面的经验

要严格验证,请使用
int
decimal
代替
integer
float

你的场景的问题如下

如果要根据自定义规则严格验证属性,则可以在模型中添加自定义验证规则。请参见下面的代码:

module.exports = {
    attributes: {
        name: {
            type:'string'
        },
        mail: {
            type:'string',
            defaultsTo:'a'
        },
        age:{
            type:'string',
            isInt:true
        }
    },
    types:{
        isInt:function(value){
            console.log(value);
            if(typeof value==='number' && value=== Math.floor(value)){
                console.log('value is a number');
                return true;
            }
            if(!isNaN(1*value)){
                console.log(value);
                return true;
            }
            return false;
        }
    }
};
因此,对于每个模型,您都需要编写自定义验证器。 及

我想现在有一种方法可以编写全局自定义验证 规则,以便您可以通过编写验证来对不同模型的属性应用验证 全球范围内


欢迎并继续提问!欢迎并继续提问!