angular-aba-routing-validation
An Angular directive for validating a routing number input field.
Installation
$ bower install angular-aba-routing-validation
Setup
Include angular-aba-routing-validation'
in your module's dependencies:
angular;
Usage
Simply add the routing-number
attribute to your <input>
field.
The directive attaches four properties to the $error
property of your form field, so they can be used like any of the built-in validation directives (like ng-minlength
, ng-pattern
, etc.).
formName.fieldName.$error.abaRouting
- the provided routing number fails validation (invalid length, invalid starting number, or fails algorithm check). Note that this does not set an error if the model is empty (null
or""
) so that you can make the input conditionally optional. You'll need to includerequired
orng-required
to error when the model is empty.formName.fieldName.$error.abaRoutingInternal
- the provided routing number indicates a bank's internal routing number (begins with a 5) and is not a valid account routing numberformName.fieldName.$error.abaRoutingMinLength
- the provided routing number is too short (less than 9 digits)formName.fieldName.$error.abaRoutingMaxLength
- the provided routing number is too long (more than 9 digits) - this probably shouldn't happen becauseng-maxlength
is automatically applied, which should restrict the user from being able to type in more than 9 characters, but...
This directive also includes x-autocompletetype="routing-transit-number"
for good measure.
ng-messages
Example with Routing number is required Routing number must be exactly 9 digits You have provided an internal bank routing number Routing number is invalid
ng-messages
Without Routing number is required Routing number must be exactly 9 digits You have provided an internal bank routing number Routing number is invalid
Optional
Credit Check Routing number is required when choosing check Routing number is invalid
Tests
A round of tests is included. To run the tests, execute:
karma start karma.conf.js
Contributions
Contributions are always welcome. Please submit issues and pull requests.