如何在mongoose中使用验证器检查字段是否为字母数字和空格

rhfm7lfc  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(119)

我想确保如果一个领域的模型,只有字母数字和空间。我在mongoose中使用validator.js。
这是我尝试过的,但不接受外地的空间。

const productSchema = new mongoose.Schema({
  title: {
    type: String,
    required: [true, 'A product must have a Title Bro...'],
    trim: true,
    validate: [validator.isAlphanumeric, 'only characters are accepted'],
    maxlength: [50, 'the title must have less or equal than 50 characters'],
    minlength: [5, 'the title must have more or equal than 5 characters']

  }
})
siotufzp

siotufzp1#

在Mongoose中,您可以使用内置的验证器来验证模式中的字段。要实现检查字段是否包含字母数字字符和空格的要求,可以将匹配验证器与正则表达式一起使用。你可以这样做:
假设您有一个名为User的模型的模式,并且您希望验证username字段仅包含字母数字字符和空格,下面是如何使用Mongoose定义模式的示例:

const mongoose = require('mongoose');

const userSchema = new mongoose.Schema({
  username: {
    type: String,
    required: true,
    unique: true,
    match: /^[A-Za-z0-9\s]+$/, // Regular expression to allow alphanumeric characters and spaces
  },
  // other fields...
});

const User = mongoose.model('User', userSchema);

module.exports = User;

相关问题