Giter VIP home page Giter VIP logo

joi-timezone's Introduction

joi-timezone

Provides a Joi rule to validate IANA timezone strings using moment-timezone

Build Status Coverage Status

Unmaintained

This project is no longer being maintained by SafetyCulture. You are welome to fork this project and bring new life to it.

https://github.com/tjdavey/joi-tz is an active version of this project.

Usage

Note: requires Joi version >= 9

import BaseJoi from 'joi';
import JoiTimezone from 'joi-timezone';

const Joi = BaseJoi.extend(JoiTimezone);

// Create a joi schema using the timezone validator;
const schema = Joi.string().timezone();

Results with valid timezone:

Joi.validate("Melbourne/Australia", Joi.string().timezone());
/*
  {
    error: null,
    value: "Melbourne/Australia"
  }
 */

Results with valid timezone returning a moment object:

Joi.validate("Melbourne/Australia", Joi.string().timezone({returnMoment: true}));
/*
  {
    error: null,
    value: {
      ...moment object
    }
  }
 */

Results with invalid timezone:

Joi.validate("Some rubbish", Joi.string().timezone());
/*
{ error: {
    [ValidationError: "value" timezone failure]
    isJoi: true,
    name: 'ValidationError',
    details: [{
      message: '"value" timezone failure',
      path: 'value',
      type: 'string.timezone',
      context: { v: 'Some rubbish', key: 'value' }
    }],
    ...
  },
  value: 'Some rubbish'
}
 */

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.