繁体   English   中英

如何在 Express 中验证模式?

[英]How can i validate a pattern in Express?

我有以下 model。 我希望caraoCidadao遵循 8 个数字字符串的模式(例如:12345678),并且estado只能采用两个可能的值(infetado 和 suspeito)。 我怎样才能进行验证?

var userSchema = new Schema({
  cartaoCidadao: {
    type: String,
    required: true,
    index: {
      unique: true,
    },
  },
  password: { type: String ,required:true},
  role: { type: String },
  estado:{type:String}
});

mongoose中有一些内置的验证器。

所以对于estado ,它只能有两个可能的值('infetado' 和 'suspeito'),你可以使用enum

estado:{
  type:String;
  /* enum validator */
  enum: ['infetado', 'suspeito']
}

对于cartaoCidadao ,一个正好有 8 个数字的字符串,你可以使用match

cartaoCidadao: {
  type: String,
  required: true,
  index: {
    unique: true,
  },
  /* match (RegExp) validator */
  match: /[0-9]{8}/
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM