1.3.1 • Published 3 years ago
orxapi.booking.validation v1.3.1
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
code | message displayed | cause | Exception |
---|---|---|---|
201 | "constraint" | missing or inactive value in constraints | MissingConstraintsException / MissingConfigurationException |
202 | "data" | missing value in data | MissingDataException |
401 | "passenger" | too many passengers | PassengerException |
402 | "passenger" | not enough passengers | PassengerException |
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 adult | AdultsException |
406 | "adults" | not enough adults | AdultsException |
407 | "children" | too many children | ChildrenException |
408 | "children" | not enough children | ChildrenException |
409 | "babies" | too many babies | BabiesException |
410 | "babies" | not enough babies | BabiesException |
501 | "date" | Invalid date value | DateFormatException |
502 | "date" | Invalid date value in relation to min constraints | InvalidAgeException |
503 | "date" | Invalid date value with respect to the max constraints | InvalidAgeException |
code | message displayed | cause | Exception |
---|---|---|---|
101 | "grouped exception" |
code | message displayed | cause | Exception |
---|---|---|---|
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