Awesome
NGValidators
A List of validators for Angular (2 and above) Forms based on validator.js. Current version only works with ReactiveFormsModule. FormsModule Directive validators will come soon.
Usage
Install
$ npm install --save ng-validators
Use as Model Based Validators
Make sure you have ReactiveFormsModule imported in your modules.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ReactiveFormsModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
The use the Validators with FormControls
import { Component } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { NGValidators } from 'ng-validators';
@Component({
selector: 'app-root',
template: `
<form [formGroup]="theForm" novalidate>
<label for="name">Email</label>
<input type="text" class="form-control" name="email" formControlName="email">
</form>
`,
})
export class AppComponent {
theForm: FormGroup;
constructor(private fb: FormBuilder) {
this.theForm = fb.group({
email: ['', [Validators.required, NGValidators.isEmail()]]
});
}
}
Contributing
Contribution Guideline isn't available yet, but PRs are so welcome to the develop branch.
Added Validators
- isAfter
- isAlpha
- isAlphanumeric
- isAscii
- isBase64
- isBefore
- isBoolean
- isByteLength
- isCreditCard
- isCurrency
- isDataUri
- isDate
- isDecimal
- isEmail
- isFloat
- isFQDN
- isHexColor
- isHexaDecimal
- isInt
- isIP
- isISBN
- isJSON
- isLowerCase
- isMacAddress
- isNull
- isNumeric
- isUpperCase
- isURL