当前位置:  开发笔记 > 编程语言 > 正文

如何用Mongoose验证字符串长度?

如何解决《如何用Mongoose验证字符串长度?》经验,为你挑选了2个好方法。

我的验证是:

LocationSchema.path('code').validate(function(code) {
  return code.length === 2;
}, 'Location code must be 2 characters');

因为我想强制执行code总是2个字符.

在我的架构中,我有:

var LocationSchema = new Schema({
  code: {
    type: String,
    trim: true,
    uppercase: true,
    required: true,
  },

我收到一个错误:Uncaught TypeError: Cannot read property 'length' of undefined但是当我的代码运行时.有什么想法吗?



1> 小智..:

更简单:

var LocationSchema = new Schema({
  code: {
    type: String,
    trim: true,
    uppercase: true,
    required: true,
    maxlength: 2
  },

http://mongoosejs.com/docs/api.html#schema_string_SchemaString-maxlength



2> Jean-Philipp..:

即使字段"代码"未定义,它也会被验证,因此您必须检查它是否具有值:

LocationSchema.path('code').validate(function(code) {
  return code && code.length === 2;
}, 'Location code must be 2 characters');

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有