You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

joi-message

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

joi-message

a small package of Joi help you to generate more friendly messages

1.1.0
latest
Source
npmnpm
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

joi-message

A small package of Joi help you to generate more friendly messages

Installation

Npm

npm install joi joi-message

Yarn

yarn add joi joi-message

Joi main function

  • createStringMessages : create messages for String type
  • createNumberMessages : create messages for Number type
  • createArrayMessages : create string messages for Array type
  • createBooleanMessages : create string messages for Boolean type
  • createDateMessages : create string messages for Date type
  • createObjectMessages : create string messages for Object type

Import

const { JoiMessage } = require("joi-message");

Note

  • when you use any method that needs a value, please pass it into the object into each method to show the exact message as expected
// example/document.js

Joi.string()
  .min(4)
  .max(20)
  .messages(JoiMessage.createStringMessages({ field: "Username", min: 4, max: 20 }));

Usage

// example/usage.js

const Joi = require("joi");
const { JoiMessage } = require("joi-message");

const testSchema = Joi.object({
  username: Joi.string()
    .min(4)
    .max(20)
    .messages(JoiMessage.createStringMessages({ field: "Username", min: 4, max: 20 })),
  email: Joi.string()
    .email()
    .messages(JoiMessage.createStringMessages({ field: "Email" })),
  list: Joi.array()
    .min(4)
    .messages(JoiMessage.createArrayMessages({ field: "List", min: 4 })),
  listWithoutName: Joi.array()
    .min(4)
    .messages(JoiMessage.createArrayMessages({ showFieldName: false, min: 4 })),
});
const result = testSchema.validate({ username: "aaa", email: "bbb", list: [1, 2, 3] }, { abortEarly: false });
console.log(result.error.details);
//  The return messages will be like this
//  [
//    {
//       message: 'Username should be at least 4 characters',
//       type: 'string.min',
//       ...
//     },
//     {
//       message: 'invalid email',
//       type: 'string.email',
//       ...
//     },
//     {
//       message: 'List should contain at least 4 items',
//       type: 'array.min',
//       ...
//     }
//  ]

Custom message

// example/custom.js

const Joi = require("joi");
const { JoiMessage } = require("joi-message");

const testSchema = Joi.object({
  username: Joi.string()
    .min(4)
    .messages({
      ...JoiMessage.createStringMessages({ field: "Username", min: 4 }),
      "string.min": "test message",
    }),
});
const result = testSchema.validate({ username: "aaa" });
console.log(result.error.details);
// [
//  {
//     message: 'test message',
//     type: 'string.min',
//     ...
//   }
// ]

Keywords

joi-message

FAQs

Package last updated on 16 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts