Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@patterninc/laravel_js_validator

Package Overview
Dependencies
Maintainers
10
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@patterninc/laravel_js_validator

Validate values against Laravel validation rules

  • 1.0.14
  • npm
  • Socket score

Version published
Weekly downloads
47
decreased by-53.92%
Maintainers
10
Weekly downloads
 
Created
Source

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": "abc@abc.com",
      "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.',
}

FAQs

Package last updated on 21 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc