Request Validator
A Node.js module for validating any kind of js dictionary. Inspired by the Request Validation feature in laravel.
Installation
npm install request-validator-js
Usage
For more in depth on how the package works check out the docs.
Some simple examples of usages of this package.
Example payload
A example data payload looks like this
{ "token": "", "someValue": "This has a value", "aInt": 0, "needsToBeString": 255}
Javascript
var RequestValidator = ;var request = ;let errors = request;
TypeScript
;;;
Example output of the errors produces in the javascript example.
Using custom error messages
A example for javascript
var data = "name": "example" ; var custom_errors = //Custom error message for the rule called "username" "username": "field :attribute with the value :value is not a valid username!"; var validation = /* This will validate that the field name exists and that it is not empty and that it is a valid username */ "name": "required|username" // In this example no errors will be present since example is a vaild username.var response = request;
Above example with the data field "name" being a invalid username,
example: "invalid username" contains spaces which is not allowed.
The output would looks like this.
{ "errors": { "name": [ "field name with the value invalid username is not a valid username!" ] }}
Rules
Available rules
For a list of currently available rule see RULES
A quick reference for the rules are:
- required
- min:int
- max:int
- boolean
- string
- url
- json
- username
Writing custom rules
For writing custom rules there a simple placeholder values that should be place in the errorMessage string. the available placeholders:
:attribute will be replaced with the fields name.
:param will be replaced with the parameter in the rule, for example max:3, param = 3.
:value will be replaced by the actual input value of the field.
Test
Running the mocha unit tests are done by running the following command:
npm run test