1.0.0-rc.4 • Published 8 years ago
foe-form-feedback v1.0.0-rc.4
foe-form-feedback
A simple but customizable form-feedback library.
Demo can be found here.
Table of Contents
Installation
Install the foe-form-feedback npm module:
npm install foe-form-feedback --saveUsage
1. Import FormFeedbackModule
Import FormFeedbackModule into the module which shall use form-feedback or into your shared module.
import { NgModule } from '@angular/core';
import { FormFeedbackModule } from 'foe-form-feedback';
@NgModule({
imports: [
FormFeedbackModule
]
})
export class MyModule { }2. Use form-feedback
Apply the foeFormFeedback directive to your form.
Example
<input type="text" minlength="12" maxlength="15" required [(ngModel)]="name" foeFormFeedback>Customization
Providing custom messages
- Create a
servicewhich implementsErrorMessageService.
import { Injectable } from '@angular/core';
import { ValidationErrors } from '@angular/forms';
import { Observable } from 'rxjs';
import { ErrorMessageService } from 'foe-form-feedback';
@Injectable()
export class MyMessageService implements ErrorMessageService {
get(errors: ValidationErrors): Observable<string[]> {
...
}
}- Import
FormFeedbackModuleby using thewithCustomMessageServicemethod
import { NgModule } from '@angular/core';
import { FormFeedbackModule } from 'foe-form-feedback';
import { MyMessageService } from './my-message.service';
@NgModule({
imports: [
FormFeedbackModule.withCustomMessageService(MyMessageService)
]
})
export class MyModule { }Use a custom component (Demo)
- Create a
componentwhich implementsFormFeedback
import { Component } from '@angular/core';
import { FormFeedback } from 'foe-form-feedback';
@Component({
templateUrl: 'my-feedback.component.html',
styleUrls: ['my-feedback.component.scss']
})
export class MyFeedbackComponent implements FormFeedback {
updateStatus(status: string, errors: ValidationErrors | null) {
...
}
}- Import
FormFeedbackModuleby using thewithCustomFeedbackmethod
import { NgModule } from '@angular/core';
import { FormFeedbackModule } from 'foe-form-feedback';
import { MyFeedbackComponent } from './my-feedback.component';
@NgModule({
imports: [
FormFeedbackModule.withCustomFeedback(MyFeedbackComponent)
]
})
export class MyModule { }