1.3.1 • Published 4 years ago

orxapi.booking.validation v1.3.1

Weekly downloads
29
License
ISC
Repository
gitlab
Last release
4 years ago

npm version npm version

orxapi.booking.validation

The booking validation library for orxapi.

Getting Started

If you haven't used NodeJs before, be sure to have install the LTS version on your desktop ! Check your version with this command:

node -v
v6.9.2

Installation

npm install orxapi.booking.validation --save

dependencies

Usage

This library is written in TypeScript, but you can use JavaScript.

Direct download

Download the script here and include it (unless you are packaging scripts somehow else):

Standalone: You can use the standalone version into bundle directory. The bundle contains a minimized version of the booking validation with a Fuse Box Quantum API.

  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script type="text/javascript" src="../bundle/standalone/orxapi.booking.validation.min.js"></script>

Min: If you want use other orxapi tools or plugins choose the min bundle and add external api.

  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script type="text/javascript" src="../bundle/min/api.js"></script>
  <script type="text/javascript" src="../bundle/min/orxapi.plugins.tabs.min.js"></script>
  <script type="text/javascript" src="../bundle/min/orxapi.booking.validation.min.js"></script>
  ...

Package Managers

Booking validation supports npm under the name "orxapi.booking.validation".

TypeScript code

import * as $ from "jquery";
import * as moment from "moment";
import "moment/locale/fr";
import {IOptions, BookingValidation} from "orxapi.booking.validation";

const options: IOptions = {...}
const bookingValidation = new BookingValidation(options);
bookingValidation.validate();

Methods

See docs for more information This library was designed to work with ES 5+

Message properties JSON format

{
    "fr": {
        "401": "Le nombre maximum de passagers ne peut être supérieur à {0}.",
        "402": "Le nombre minimun de passagers ne peut être inférieur à {0}.",
        "403": {
            "singular": "Le nombre maximum de passagers ayant plus de {0} an ne peut être supérieur à {1}.",
            "plural": "Le nombre maximum de passagers ayant plus de {0} ans ne peut être supérieur à {1}."
        },
        "404": {
            "singular": "Le nombre minimun de passagers ayant plus de {0} an ne peut être inférieur à {1}.",
            "plural": "Le nombre minimun de passagers ayant plus de {0} ans ne peut être inférieur à {1}."
        }
    },
    ...
    "en": {
        "401": "The maximum number of passengers could not exceed {0}.",
        "402": "The minimum number of passengers could not be less than {0}.",
        "403": {
            "singular": "The maximum number of passengers more than {0} year old could not exceed {0}.",
            "plural": "The maximum number of passengers more than {0} years old could not exceed {0}."
        },
        "404": {
            "singular": "The minimum number of passengers more than {0} year old could not be less than {1}.",
            "plural": "The minimum number of passengers more than {0} years old could not be less than {1}."
        }
    }
}

Messages code mapping

codemessage displayedcauseException
201"constraint"missing or inactive value in constraintsMissingConstraintsException / MissingConfigurationException
202"data"missing value in dataMissingDataException
401"passenger"too many passengersPassengerException
402"passenger"not enough passengersPassengerException
403"passenger"too many passengers (with account from a certain age)PassengerException
404"passenger"not enough passengers (with account from a certain age)PassengerException
405"adults"too many adultAdultsException
406"adults"not enough adultsAdultsException
407"children"too many childrenChildrenException
408"children"not enough childrenChildrenException
409"babies"too many babiesBabiesException
410"babies"not enough babiesBabiesException
501"date"Invalid date valueDateFormatException
502"date"Invalid date value in relation to min constraintsInvalidAgeException
503"date"Invalid date value with respect to the max constraintsInvalidAgeException
codemessage displayedcauseException
101"grouped exception"
codemessage displayedcauseException
701"child age range according to trip start"
702"child age range according to trip start" short version
703"child age range according to trip end"
704"child age range according to trip end" short version
705"adult age from"
706"passenger number max"
707"passenger number range"
708"passenger number max" (avec compte à partir d'un certain age)
709"passenger number range" (avec compte à partir d'un certain age)
710"min age allowed"

TODO

  • Fix TSlint errors
  • Fix dist-esm errors
  • Add examples
  • Add unit tests
  • Add functional tests
  • Improve the documentation