Coder Social home page Coder Social logo

vanilla-form-validator's Introduction

Vanilla Form Validator

Validate your forms in vanilla js.

Installation

Usage

Create validator :

// Get form dom element
var form = document.getElementsByTagName('form')[0];

// Create validator
var validator = new VanillaFormValidator(form);

Add a field to validator :

validator.addField('field_name', {
  validators: {
    not_empty: {
      message: 'This field is required'
    }
  }
});

Or add mutiple fields :

var fields = {
  "field_name": {
    "validators": {
      not_empty: {
        message: 'This field is ...'
      }
    }
  },
  "field_name": {
    "validators": {
      not_empty: {
        message: 'This field is ...'
      }
    }
  }
}

validator.addFields(fields);

Check validity of form :

// Return true or false
validator.valid();

Get form errors :

// Return hash of errors
validator.errors();

Display error messages :

// Append small html tag to input with message
validator.validate();

Live validations :

// Listen on click, change and keyup events on form inputs
// Use preventDefault() on submit event if form is not valid
validator.initLive();

Reset validations :

// Remove values, events and messages
validator.reset();

Remove error messages :

validator.clearErrorMessages();

Rules

Add Rule

You can simply add rule :

// Function must return boolean
// True if field id valid, else false
VanillaFormValidator.addRule('rule_name', function(value, opts){

  // dom element is stored in opts['element']

});

Then you can call your rule when you declare your fields

Contributing

  1. Fork it ( https://github.com/angelodlfrtr/vanilla-form-validator/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

vanilla-form-validator's People

Contributors

angelodlfrtr avatar

Stargazers

Xiaofan Wu avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.