首页 文章

如何在mongoose / Hapijs中验证时间戳发送是否为UTC?

提问于
浏览
0

我正在使用Mongoose在Mongodb中使用Hapi和数据库在node.js中构建应用程序 . 我有以下消息架构:

var schema = {
    from : {
        type : Schema.ObjectId,
        ref : 'User'
    },
    content : {
        type : String,
        required : true
    },
    group : {
        type : Schema.ObjectId,
        ref : 'Group'
    },
    created : {
        type : Number,
        default : Date.now()
    }
};

我希望架构中的 created 字段是时间戳,并且始终为UTC . 为此,我的客户端总是将其当前时间戳转换为其UTC时间戳,然后发送到服务器 . 但是,我无法在服务器上找到一种可能的方法来验证提供的时间戳是否已转换为UTC . 我有什么方法可以在Hapi / Mongoose中强制进行验证吗?

提前致谢 .

Edit

  • created 字段的类型更改为 Number ,因为我想存储 timestamp 而不是日期字符串 .

1 回答

  • 1

    Hapi允许您在每条路线上拥有 validate 属性 . 在引擎盖下,它使用Joi来验证此属性中提供的架构到有效负载,参数,查询字符串和标头:Route Configuration

    使用此功能,您可以将 created 字段验证为特定日期格式:date.format()

    例如,这将验证它为ISO 8601格式:

    validate: {
            payload: {
                created: Joi.date().iso();
            }
        }
    

相关问题