AJV Formats Example

node v14.20.1
version: 2.0.0
endpointsharetweet
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
Loading…

no comments

    sign in to comment