从一个文件扩展所有 Joi 验证包并使用 const Joi = require('joi') 导入所有
Extends all Joi Validation Package from one file and Import all with const Joi = require('joi')
如何将joi-phone-number package like joi-object example导出到一个文件下,导入使用如下?以下是我的 validation.js 并导入 index.js.
// validation.js
const Joi = require('joi');
module.exports = function({
Joi.objectId = require('joi-objectid')(Joi);
// Here i want to import phone number validation.
})
现在,我创建了两个常量来验证 objectid 和 handphone。
// schema.js
const Joi = require('joi');
const MyJoi = Joi.extend(require('joi-phone-number')); // I want to add this line in validation.js.
exports.validate = function(data) {
const schema = {
name: MyJoi.string().required(),
hp: MyJoi.string().phoneNumber({ defaultCountry: 'US', format: 'e164})
}
}
我想将所有 Joi 包放在一个文件中并导入该文件以使用不同类型的验证。
// What I want to achieve
const Joi = require('joi)
exports.validate = function(data) {
const schema = {
id: Joi.ObjectId(),
name: Joi.string().required(),
hp: Joi.string().phoneNumber()
}
}
joi-objectId
看起来很旧并且没有使用 Joi.extend()
api。您可以简化事情并使自己摆脱这种依赖。它唯一做的就是使用以下内容验证字符串:
Joi.string().regex(/^[0-9a-fA-F]{24}$/);
// validate.js
const Joi = require("joi");
const MyJoi = Joi.extend(require("joi-phone-number"));
exports.validate = function (data) {
const schema = {
id: MyJoi.string().regex(/^[0-9a-fA-F]{24}$/),
name: MyJoi.string().required(),
hp: MyJoi.string().phoneNumber()
};
return MyJoi.validate(data, schema);
};
如何将joi-phone-number package like joi-object example导出到一个文件下,导入使用如下?以下是我的 validation.js 并导入 index.js.
// validation.js
const Joi = require('joi');
module.exports = function({
Joi.objectId = require('joi-objectid')(Joi);
// Here i want to import phone number validation.
})
现在,我创建了两个常量来验证 objectid 和 handphone。
// schema.js
const Joi = require('joi');
const MyJoi = Joi.extend(require('joi-phone-number')); // I want to add this line in validation.js.
exports.validate = function(data) {
const schema = {
name: MyJoi.string().required(),
hp: MyJoi.string().phoneNumber({ defaultCountry: 'US', format: 'e164})
}
}
我想将所有 Joi 包放在一个文件中并导入该文件以使用不同类型的验证。
// What I want to achieve
const Joi = require('joi)
exports.validate = function(data) {
const schema = {
id: Joi.ObjectId(),
name: Joi.string().required(),
hp: Joi.string().phoneNumber()
}
}
joi-objectId
看起来很旧并且没有使用 Joi.extend()
api。您可以简化事情并使自己摆脱这种依赖。它唯一做的就是使用以下内容验证字符串:
Joi.string().regex(/^[0-9a-fA-F]{24}$/);
// validate.js
const Joi = require("joi");
const MyJoi = Joi.extend(require("joi-phone-number"));
exports.validate = function (data) {
const schema = {
id: MyJoi.string().regex(/^[0-9a-fA-F]{24}$/),
name: MyJoi.string().required(),
hp: MyJoi.string().phoneNumber()
};
return MyJoi.validate(data, schema);
};