Skip to main content

How to create directive in angular 2 -- Limit the length of a string using angular 2/ionic 2

How to create directive in angular 2 -- Limit the length of a string using angular 2/ionic 2

In angular2 it will look like:

import {Directive, Input} from '@angular/core';

@Directive({
  selector: '[limit-to]',
  host: {
    '(keypress)': '_onKeypress($event)',
  }
})
export class LimitToDirective {
  @Input('limit-to') limitTo; 
  _onKeypress(e) {
     const limit = +this.limitTo;
     if (e.target.value.length === limit) e.preventDefault();
  }
}
Don't forget to register directive in NgModule sth like:
@NgModule({
  imports: [ BrowserModule ],
  declarations: [ App, LimitToDirective ],  //keep this in declaration only
  bootstrap: [ App ]
})
export class AppModule {}
And then use it like:

<input limit-to="4" type="number" placeholder="enter first 4 digits: 09XX">

https://plnkr.co/edit/sgMubU0p8Z5BPzAIKsf4?p=preview

Confirm Directive
https://plnkr.co/edit/KMfnzrmSx0ywKp6ztaNN?p=preview

Comments

Popular posts from this blog

Error: ios-deploy was not found. Please download, build and install version 1.9.0 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy' solution this solved the issue sudo npm install -g ios-deploy -unsafe-perm

Error: ios-deploy was not found. Please download, build and install version 1.9.0 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy' solution this solved the issue sudo npm install -g ios-deploy -unsafe-perm

How to upload file in MEAN Stack

How to upload file in MEAN Stack Do these steps 1. npm install ng-file-upload 2. include ng-file-upload.min.js in your angular index .html 3. Use this example to copy form to your angular page from where u want to upload file. -- http://jsfiddle.net/0m29o9k7/ or http://jsfiddle.net/danialfarid/2vq88rfs/136/ Copy this code outside of any form which is already there: 4. Change this url from example code to where you want to upload files -- url: 'https://angular-file-upload-cors-srv.appspot.com/upload', 6. In your server.js or app.js which ever you are using as (node server.js) to start app add these lines     var crypto = require('crypto');         var mime = require('mime');         var multer  = require('multer');                     var storage = multer.diskStorage({           destination: function (req, file, cb) {     ...