# Validatex

[![Build Status](](

This library is useful for validating input forms (register / login / ...) to your web applications.

Find inspiration in [validation example]( repository or [live demo](

## Installation

def deps do
    {:validatex, "~> 1.0.1"}

## Usage

If you want to use this library you have to define a few functions:
1. [Initialize]( of form state
2. Define [Validators](
3. Define [form]( in template
4. Define [handle_event]( for `on_blur` event
5. Define [handle_event]( for `on_change` event
6. In case of related two input forms (e.g. for password (P) and confirm password (CP)) is needed also define `handle_event` functions for `on_blur` ([P]( and `on_change` ([P](, [CP]( events.
7. For form event `phx_submit` define [handle_event]( function where you'll call `Validation.validate_on_submit` function for each `field_name` of your input form and then `Validation.submit_if_valid`.

## Notes

* **Pros**
  * per input form live validation
  * possibility define own validation functions
  * possible using at [Scenic](

* **Cons**
  * it isn't directly connected to Ecto

* Comparison
  * Using Validatex
  * Using `changeset` from Ecto

## License

Code is licensed under the BSD-4-Clause.