@patterninc/laravel_js_validator
v1.0.11
Published
Validate values against Laravel validation rules
Downloads
817
Maintainers
Keywords
Readme
Laravel style validators in JS
This package implements laravel styled validation rules in javascript. It is a standalone package and does not require any other package or framework to work. We can use this with ES6 and commonjs type of modules. Refer usage section for more details on the usage.
Installation
Add follwing to your package.json
"@patterninc/laravel_js_validator": "^1.0.1"
Usage
- commonjs
const laravel = require('@patterninc/laravel_js_validator')
laravel.Validator.validate(data, rules)
- es6
import { Validator } from '@patterninc/laravel_js_validator'
Example
import { Validator } from '@patterninc/laravel_js_validator'
{
"data": {
"a1": "test",
"a2": null,
"a3": "",
"a4": [],
"a5": 10,
"a6": ["a", "b", "c"],
"a7": [1,2,3,4,5,6,7,8,9,10],
"a8": "*&^R$",
"a9": "test123",
"a10": "abc12312",
"a11": "[email protected]",
"a12": "abc",
"a13": "regex123"
},
"rules": {
"a1": "required",
"a2": "required",
"a3": "required",
"a4": "required",
"a5": "required|numeric|max:10|min:4",
"a6": "required|array|in:a,b,c",
"a7": "required|array|between:1,10",
"a8": "required|alpha",
"a9": "required|alpha_num",
"a10": "required|alpha",
"a11": "required|email",
"a12": "required|email",
"a13": "required|regex:/^regex[0-9]+$/"
}
}
const result = Validator.validate(data, rules)
console.log(result)
Result
{
"success": false,
"errors": {
"a2": [
"The a2 field is required."
],
"a3": [
"The a3 field is required."
],
"a4": [
"The a4 field is required."
],
"a8": [
"The a8 may only contain letters."
],
"a10": [
"The a10 may only contain letters."
],
"a12": [
"The a12 must be a valid email address."
]
}
}
Rules Implemented
{
after: 'The :attr must be a date after :date.',
alpha: 'The :attr may only contain letters.',
alpha_dash: 'The :attr may only contain letters, numbers, and dashes.',
alpha_num: 'The :attr may only contain letters and numbers.',
array: 'The :attr must be an array.',
before: 'The :attr must be a date before :date.',
between: {
numeric: 'The :attr must be between :min and :max.',
string: 'The :attr must be between :min and :max characters.',
array: 'The :attr must have between :min and :max items.',
},
boolean: 'The :attr field must be true or false.',
date: 'The :attr is not a valid date.',
date_format: 'The :attr does not match the format :format.',
different: 'The :attr and :other must be different.',
email: 'The :attr must be a valid email address.',
in: 'The selected :attr is invalid.',
integer: 'The :attr must be an integer.',
max: {
numeric: 'The :attr may not be greater than :max.',
string: 'The :attr may not be greater than :max characters.',
array: 'The :attr may not have more than :max items.',
},
min: {
numeric: 'The :attr must be at least :min.',
string: 'The :attr must be at least :min characters.',
array: 'The :attr must have at least :min items.',
},
not_in: 'The selected :attr is invalid.',
numeric: 'The :attr must be a number.',
regex: 'The :attr format is invalid.',
required: 'The :attr field is required.',
same: 'The :attr and :other must match.',
size: {
numeric: 'The :attr must be :size.',
string: 'The :attr must be :size characters.',
array: 'The :attr must contain :size items.',
},
string: 'The :attr must be a string.',
url: 'The :attr format is invalid.',
}