当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 如何在sequelize.js中验证字符串字段?

来源:互联网 收集:自由互联 发布时间:2021-06-16
如何验证数据库字段只接受字符串? 在我的数据库中,我有两个字段: 描述:字符串 completed:布尔值 我希望描述字段只接受一个字符串值.我的意思是: ’description’:’text’=数据库
如何验证数据库字段只接受字符串?

在我的数据库中,我有两个字段:

>描述:字符串
> completed:布尔值

我希望描述字段只接受一个字符串值.我的意思是:

>’description’:’text’=>数据库接受此请求
>’descrition’:真或假=>数据库拒绝此请求
>’descrition’:123 =>数据库拒绝此请求

目前,description字段可以接受布尔值,因此我的配置存在问题.

module.exports = function(sequelize, DataTypes) {
    return sequelize.define('todo', {
        description: {
            type: DataTypes.STRING,
            allowNull:false,
            validate: {
                len: [1, 250],
                isBoolean:false,
                isAlpha:true
            }
        },
        completed: {
            type: DataTypes.BOOLEAN,
            allowNull: false,
            defaultValue: false,
            validate:{
                isBoolean:true
            }
        }
    });
};
您可以使用regexp验证来检查值是否为字符串,并且它的值不是true或false:

return sequelize.define('todo', {
    description: {
        type: DataTypes.STRING,
        allowNull:false,
        validate: {
            is: ^((?!true|false|TRUE|FALSE).){1,255}$
        }
    },
    ...

http://docs.sequelizejs.com/manual/tutorial/models-definition.html#validations

网友评论