const Ajv = require('ajv').default
const ajvFormats = require('ajv-formats');
const ajv = new Ajv()
ajvFormats(ajv);
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
ajv.addFormat('email-format', emailRegex);
const email = { email: 'e mail@mail.com' }
const schema = {
type: "object",
properties: {
email: {type: "string", format: 'email-format'}
},
required: ["email"]
}
const check = (data) => !ajv.validate(schema, data) ? ajv.errors : data;
console.log(check(email)); // Error
console.log(check({email: 'email@mail.com'})); // Ok
console.log(check({email: 'email@mail,com'})); // Error