[](https://travis-ci.org/turinggroup/angular-validator)
npm install angular-validatorAngular-Validator is an easy to use, powerful and lightweight AngularJS validation directive.
ngMessages directive.submission, blur or dirty(change).$scope.yourFormName.elementName. reset() form method.has-error classes to invalid form and message message elements so you don't have too.bower install tg-angular-validator.angular-validator.min.js.angularValidator as a dependency of your Angular module.Basic usage for required fields
```
name = "firstName"
ng-model = "person.firstName"
required>
Usage with a custom validator function
``
name = "firstName"
ng-model = "person.firstName"
validator = "myValidationFunction(person.firstName)">
Usage with validation on blur
``
name = "firstName"
ng-model = "person.firstName"
validate-on="blur"
validator = "myValidationFunction(person.firstName)">
Usage with validation on dirty
``
name = "firstName"
ng-model = "person.firstName"
validate-on="dirty"
validator = "myValidationFunction(person.firstName)">
Usage with custom validator literal
``
name = "firstName"
ng-model = "person.firstName"
validator = "person.firstname === 'john'">
Usage with REGEX and required
``
name = "firstName"
ng-model = "person.firstName"
ng-pattern = "\regex\"
required>
Usage with custom error message text
``
name = "firstName"
ng-model = "person.firstName"
ng-pattern = "\regex\"
invalid-message = "'Please enter the word regex'"
required-message = "'First name is required'"
required>
Usage with conditional invalid/required message text
``
name = "firstName"
ng-model = "person.firstName"
validator= "myValidationFunction(person.firstName) === true"
invalid-message = "myValidationFunction(person.firstName)"
required-message = "myValidationFunction(person.firstName)"
required>true
* Note that the validator and the message function do not need to be the same function. If you choose to make them the same function make sure to return on valid input.
Setting up the form
``angular-validator-submit
Use to specify the function to be called when the form is submitted. Note that the function is not called if the form is invalid.
Use form invalid message service
``invalid-message
Use on form element to provide the name of the service in which invalid messages are managed. You need to provide a message function in your service, which returns the messages you defined. Form invalid message service saves repetitive code in HTML because you do not need to use invalid-message attribute on every field. Please see the demo for examples.
Resetting the form
``
myFormName.reset()name
You need to include a attribute on the form to use this.
Validity API
Uses standard Angular $valid and $invalid properties so that it can work with core angular and third party libraries!``
formName.$invalid
formName.$valid
elementName.$valid
elementName.$invalid
elementName.$angularValidator
Why pass value to custom validator functions?
Passing the value to the custom validator function allows the function to be easier to test.
How do I display success messages/classes?
The library does not currently support success classes and messages. Feel free to contribute.
What if I want error messages to display before the user types anything?
You are using the wrong library.
What if I want to disable the submit button if the form is invalid?
You can add ng-disabled="myForm.$invalid"` on the submit button.