ReactJS - How to create ReactJS components
Introduction In this post, we will talk about basic of how to create components…
May 07, 2020
In this post, I will show how to validate your json schema validation across veriety of use-cases.
Example, you are having 5 fields. And, for three fields you want either of them to be present. Note: Success criteria is to have only one of these three fields, not 2 not 3.
Example schema validation with Joi:
const validationJoi = Joi.object({
field1: Joi.string(),
field2: Joi.string(),
field3: Joi.string(),
field4: Joi.string(),
field5: Joi.string(),
}).xor('field1', 'field2', 'field3')
const obj = {
field1: "value1",
field4: "value4",
};
const isValid = Joi.validate(obj, validationJoi);
//true
const obj2 = {
field4: "value4",
};
const isValid2 = Joi.validate(obj, validationJoi);
//false
Note the xor above.
Note, this validation can also be used in mongoose schema validations.
const Joi = require('joi');
const mySchema = mongoose.Schema({
name: String,
country: String,
email: String,
created: { type: Date, default: Date.now }
});
mySchema.methods.schemaValidate = function(obj) {
const schema = {
name: Joi.types.String().min(6).max(30).required(),
country: Joi.types.String().required(),
email: Joi.types.String().email().required()
created: Joi.types.Date(),
}
return Joi.validate(obj, schema);
}
module.exports = mongoose.model('User', mySchema);
And, in some service code you can call this method schemaValidate on MySchema object.
Introduction In this post, we will talk about basic of how to create components…
I was testing a bug where a field was limited to 255 characters only. I needed…
I wanted to fetch all image tags from a big html, and wanted to perform some…
Introduction I got my seo backlink work done from a freelancer. It was like 300…
The problem comes while using FTPS. When developer uses login method of this…
Introduction You have a view with 4-5 fields to display. Suppose, there are two…
Introduction Strapi is a backend system provides basic crud operations with…
Introduction I had to create many repositories in an Github organization. I…
Introduction I was trying to download some youtube videos for my kids. As I have…
Introduction In this post, we will explore some useful command line options for…
Introduction In this post, we will see how we can apply a patch to Python and…
Introduction We will introduce a Package Manager for Windows: . In automations…