All Projects → jfstn → Validator

jfstn / Validator

Licence: mit
Client-side javascript validator library ports from Laravel 5.2

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Validator

Laravel Vue Validator
Simple package to display error in vue from laravel validation
Stars: ✭ 32 (-8.57%)
Mutual labels:  validation, laravel
Validation
The power of Respect Validation on Laravel
Stars: ✭ 188 (+437.14%)
Mutual labels:  validation, laravel
Validation
🔒 Laravel farsi/persian validation
Stars: ✭ 142 (+305.71%)
Mutual labels:  validation, laravel
Validatorjs
A data validation library in JavaScript for the browser and Node.js, inspired by Laravel's Validator.
Stars: ✭ 1,534 (+4282.86%)
Mutual labels:  validation, laravel
Laravel Validation Rules
A set of useful Laravel validation rules
Stars: ✭ 374 (+968.57%)
Mutual labels:  validation, laravel
Laravel Zip Validator
Laravel ZIP file content validator
Stars: ✭ 120 (+242.86%)
Mutual labels:  validation, laravel
Validation Composite
Allows uniting of several validation rules into single one for easy re-usage
Stars: ✭ 159 (+354.29%)
Mutual labels:  validation, laravel
Laravel5 Genderize Api Client
Laravel 5 client for the Genderize.io API
Stars: ✭ 47 (+34.29%)
Mutual labels:  validation, laravel
Validator Docs
Validação de CPF, CNPJ, CNH, NIS, Título Eleitoral e Cartão Nacional de Saúde com Laravel.
Stars: ✭ 334 (+854.29%)
Mutual labels:  validation, laravel
Laravel Postal Code Validation
Worldwide postal code validation for Laravel and Lumen
Stars: ✭ 278 (+694.29%)
Mutual labels:  validation, laravel
Laravel Multistep Forms
Responsable Multistep Form Builder for Laravel
Stars: ✭ 76 (+117.14%)
Mutual labels:  validation, laravel
Identity Number
Validator for Swedish personal identity numbers (personnummer). For use "standalone" or with Laravel.
Stars: ✭ 17 (-51.43%)
Mutual labels:  validation, laravel
Form Object
Form object to use with Vue components for sending data to a Laravel application using axios.
Stars: ✭ 73 (+108.57%)
Mutual labels:  validation, laravel
Laravel Phone
Phone number functionality for Laravel
Stars: ✭ 1,806 (+5060%)
Mutual labels:  validation, laravel
Laravel Smart
Automatic Migrations, Validation and More
Stars: ✭ 48 (+37.14%)
Mutual labels:  validation, laravel
Credit Card
Credit Card Validation
Stars: ✭ 150 (+328.57%)
Mutual labels:  validation, laravel
Pt Br Validator
Uma biblioteca contendo validações de formatos Brasileiros, para o Laravel
Stars: ✭ 255 (+628.57%)
Mutual labels:  validation, laravel
Laravel Jsonapi
Basic setup framework for creating a Laravel JSON-API server
Stars: ✭ 16 (-54.29%)
Mutual labels:  validation, laravel
Validating
Automatically validating Eloquent models for Laravel
Stars: ✭ 906 (+2488.57%)
Mutual labels:  validation, laravel
Laravel Mixins
A collection of Laravel goodies.
Stars: ✭ 33 (-5.71%)
Mutual labels:  laravel

Validator

npm Travis build Coverage Status FOSSA Status

A client-side JavaScript validation package, based on Laravel 5.2 validation.

Installation

  1. Included as global <script>, copy the Validator.js file inside dist directory to your project directory and reference it in the script tag. Or, you can use NPMCDN to reference it like so,

    <head>
        <script src="public/js/Validator.js"></script>
        <!-- or using NPMCDN -->
        <script src="https://unpkg.com/Validator"></script>
    </head>
    
  2. Using NPM

    npm install Validator --save
    
    const Validator = require('Validator');
    

Usage

  • Basic usage

    const data = {
        name: 'John Doe',
        company: 'Example Co.',
        birthday: '1985-04-16'
    };
    
    const rules = {
        name: 'required',
        // for multiple rules
        birthday: 'required|date', // can be a piped string
        company: ['required', 'string'] // can be an array of strings
    };
    
    const v = Validator.make(data, rules);
    
    if (v.fails()) {
        const errors = v.getErrors();
        console.log(errors);
    }
    

    getErrors() will return an object containing error field as a key and array of error messages for that field.

  • Custom Error Messages

    const messages = {
        // custom message for based rules
        required: 'You forgot the :attr field',
        email: ':attr is not valid',
        // custom message for specific rule of attribute
        'receiver.email': 'The receiver email address is not valid'
    };
    
    const v = Validator.make(data, rules, messages);
    
    if (v.passes()) {
        //...
    }
    
  • Custom Name

    const v = Validator.make(data, rules, messages, { email: 'Email Address' });
    

Supported Validation Rules

See validation rule usage in Laravel Documentation

  • accepted
  • after (date)
  • alpha
  • alpha_num
  • alpha_dash
  • array
  • before (date)
  • between
  • boolean
  • confirmed
  • date
  • different
  • digits
  • digits_between
  • email
  • filled
  • in
  • integer
  • ip
  • json
  • max
  • min
  • not_in
  • numeric
  • present
  • regex
  • required
  • required_if
  • required_unless
  • required_with
  • required_with_all
  • required_without
  • required_without_all
  • same
  • size
  • string
  • url

Extending with Custom Validation Rules

The validator can be extended with custom rules

const rules = {
    id: 'required|mongoid'
};

function validateMongoId(name, value, params) {
    let hexadecimal = /^[0-9A-F]+$/i;
    return value && hexadecimal.test(value) && value.length === 24;
}

const v = Validator.make(data, rules);
v.extend('mongoid', validateMongoId, ':attr is not a valid mongo id');

if (v.passes()) {
    //...
}

validator.extend takes three required parameters:

  • name: the name of the custom rule
  • callback: called when the rule is checked
  • validationMessage: error message text on validation failure

The validation callback receives three parameters:

  1. name: the field name being validated
  2. value: the given value in the data
  3. params: Any parameters, passed after the colon in the rule definition.

Params defined ike so: rulename:min=10,max=15 would be passed in as an array: ['min=10', 'max=15']

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].