sách gpt4 ai đã đi

regex - Mongoose 验证 : required : false, 验证 : regex, 问题与空值

In lại 作者:可可西里 更新时间:2023-11-01 09:12:25 29 4
mua khóa gpt4 Nike

我从 Mongoose 验证中得到这条消息:

'Validator failed for path phone with value ``'

这不应该发生,因为不需要电话。

这是我的模型架构:

var user = new Schema(
{
_id : { type: String, required: true },
name : { type: String, required: true},
phone : { type: String, required: false, validate: /^\d{10}$/ },
password : { type: String },
added : { type: Date, default: Date.now },
},
{collection : 'users'}
);

当我使用 required: false 并设置验证属性时, Mongoose 的验证似乎失败了。如果我将其更改为:

phone : { type: String, required: false},

一切正常,这是为什么呢?我做错了什么?

1 Câu trả lời

您可以简单地检查输入的值是否存在(不为空或未定义)。如果存在,则测试正则表达式:

var user = new Schema(
{
_id : { type: String, required: true },
name : { type: String, required: true},
phone : { type: String,/*not required by default**/
validate: {
validator: function(v) {
var re = /^\d{10}$/;
return (!v || !v.trim().length) || re.test(v)
},
message: 'Provided phone number is invalid.'
}
},
password : { type: String },
added : { type: Date, default: Date.now },
},
{collection : 'users'}
);

关于regex - Mongoose 验证 : required : false, 验证 : regex, 问题与空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21842694/

29 4 0
Bài viết được đề xuất: c# - MongoDB 添加数组到 BsonDocument
Bài viết được đề xuất: android - 增加复选框的大小
Bài viết được đề xuất: android - 你如何告诉 Android 不要缩放图像?
Bài viết được đề xuất: mongodb - 如何执行mongo cloneCollection命令将集合复制到远程服务器
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com