Skip to content

Angular's (missing) trim accessor to automatically trim values of input fields

License

Notifications You must be signed in to change notification settings

khashayar/ng-trim-value-accessor

Repository files navigation

TrimValueAccessor for Angular

Angular's missing trim input functionality (equivalent of AngularJS ng-trim)

Caveats:

  • It's a drop-in solution, meaning it applies to all input fields as soon as this module is used.
  • It does not work with inputs that are already using another value accessor, since Angular only allows one value accessor per form control. This means it cannot be used with Angular Material inputs (the matInput directive uses a value accessor).

Installation

To install this library, run:

$ npm install ng-trim-value-accessor --save

Usage

In your Angular AppModule:

import { NgModule } from '@angular/core';
import { TrimValueAccessorModule } from 'ng-trim-value-accessor';

@NgModule({
  imports: [
    TrimValueAccessorModule
  ]
})
export class AppModule { }

Opt-out

By default, it ignores all readonly and input[type="password] fields. For example the following field remains untouched:

<input class="form-control" name="startDate" [(ngModel)]="model.startDate" ngbDatepicker readonly>

However if you want to explicitly opt-out, give a field ng-trim-ignore css class:

<input type="text" class="form-control ng-trim-ignore" name="firstName" [(ngModel)]="model.firstName">

About

Angular's (missing) trim accessor to automatically trim values of input fields

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published